200000
51164 144887
921214851 703702996 574028795 643838879 305287081 159452005 219595054 198502143 549049096 254316462 901647983 174491794 822980751 732586837 620802431 814204659 881436172 822818074 842021034 916366818 275304572 938939887 118994560 715065365 272170804 675348428 861822442 501973122 956308466 808088835 210950173 889967856 344078466 664927766 491499974 986368090 287225178 952001312 931476018 117386084 805598579 350906782 413584273 617275479 502362997 564737426 671863308 761149679 281202927 388192802 368823698 381720014 665230562 424925520 839082679 994427177 428474931 234431674 910522342 961345255 152397401 628891599 996324089 583390743 307650745 961584568 687401073 885406040 189643432 792499991 792909908 905482776 314530777 215818158 783759018 346553118 778449406 752141237 354877389 402581865 211872859 777322697 843252453 739030763 805967081 504548768 617748544 498190363 926727759 270588563 457064246 545900527 422442222 329508832 726862508 972959627 298905435 217688818 511138411 489213301 389897858 258242835 304065231 667809928 344956267 221629366 267271469 239628883 263110690 339423494 658137563 752398742 985947792 903812565 485822253 202327342 805440914 598499890 935844949 130904291 792153212 262318617 987295718 567280223 324331452 750401996 147884395 696656087 751999182 176729485 569901575 299261646 603424444 936119034 253891459 843390411 631054698 866533382 836950313 571536349 217114570 468502469 250865525 577380528 623026486 943384306 104645837 667838961 747370005 477747285 790972585 192154359 600006962 593170056 442557914 878603532 138097314 139823125 126209989 965297917 169322254 240883590 857667384 351091512 319646173 279312518 768385243 348640035 114102162 191789667 203792193 418075157 914868717 877544997 282650894 832882838 104295204 571579624 314789268 924435461 577359880 573431669 307453545 373842408 923474974 848824087 216974162 327261909 371813672 409444929 208247904 347091735 784587360 545961451 352258626 849777559 154532101 555891156 638429294 720126633 427711780 274237382 999014468 844772299 707414730 464773365 733065018 437364042 501602845 141195176 402115291 671352467 550415320 768206834 404992990 510468407 133398187 139090848 812827365 159018652 230505796 681979219 323179611 385011429 180427051 281216584 126872216 184535200 698947476 833425153 496730330 273028525 765850333 914753972 523210085 452181290 380137530 903721517 333985445 422073031 902104644 327717642 101650975 599537901 876326215 166221562 169870880 190782760 608564421 272108344 853395588 775863399 148037574 497959813 302264768 306164906 242143361 546914631 174679155 603245275 212200718 522892942 118915018 914899907 423887533 546592736 849257411 836127101 132481472 722866298 368433755 749391057 825370541 440463308 247713353 104693819 255212456 180530745 375554743 489040226 818433573 538831243 606132374 675789551 453643591 462634733 279370672 649210519 699365685 866732869 568024750 991482211 914684351 145923265 556653439 613369012 343727312 289338702 242481410 653585063 787189388 169730850 595178212 334179972 946028031 348331197 227939242 563240820 773308948 112416471 649961767 698783906 235707708 888332872 931557010 602484721 909297944 546513846 455921376 581511046 317407053 534061159 576793311 124530178 778290625 576323379 574432884 467640976 356436480 627077360 841054952 263898023 335515968 729773954 354981997 368780803 863996756 133105682 890394702 389551194 765952224 772925051 987208709 583404272 314749793 766550745 376587987 111474258 454114635 383413866 677466147 847506678 254369553 882615262 900543467 506875822 503882262 983260664 341970761 561546766 224244662 575869275 755203433 261704491 562390658 450060194 916539253 745465051 643432043 245433293 355719160 713814691 190956438 162914332 271857799 814229635 560061959 940058919 857936003 872516464 280498153 805131896 937787190 286595229 709162438 854769983 902320386 535492392 505572310 706639372 595425702 628012482 909162227 714623595 256945268 694571635 217520817 910100414 394690086 392701241 854243144 732657023 186628235 284216644 860954841 967148990 981704304 620358937 505430467 371245031 111622936 377631800 509942686 575168281 899183096 252411938 693678242 814435002 668709153 365222241 769167115 210974407 329783029 172638274 874269660 343709805 858339957 283480321 702670629 106839603 620793931 707644212 754474419 353184782 130703003 998783132 875688360 590057040 303159561 255369081 511873996 268071932 710123914 624847177 761018635 881137630 530003657 494754486 828482958 310382747 882428765 157411732 170572070 892643203 570158718 749058782 988013350 636311469 736906417 762113487 827594075 357594958 598551193 360680885 301178431 391603263 617434038 401224336 591953737 525864142 531284033 391715868 834345502 866188790 285897014 543324134 743024471 164185194 343484757 409785278 527812083 915812296 864909693 284829171 371464400 213224400 407999344 646844197 476647772 619546499 841789118 625735554 692630533 827683129 553043215 318203536 860715194 217237710 720315803 370616679 326798919 938541426 240602200 573545756 746468067 718228148 501606939 121671277 298360820 418808279 290715042 446016951 565790775 407601095 136921099 689162567 647315439 781514128 266527609 127325270 112230587 253362126 821454610 169278241 405578645 217533913 594717985 206445001 368472445 496511264 749683700 256781621 348050915 224152564 659999493 523063578 838635575 879846689 598890321 418700561 219865957 844781143 109563663 553788407 538921382 520617588 281251812 512303673 480408381 413230777 840871930 616177683 470923262 482938823 540371961 736946223 971979646 111174578 548648667 570306639 403110215 137609162 572169106 506721279 350346800 611758170 307383015 730950946 512103409 170305930 511595581 820832914 927692620 761625643 884696178 133790189 636610075 114153006 931255592 670944723 225090378 556468928 329762901 971344662 904264024 779224957 977992935 141374650 464319169 604430946 773152871 298034928 479231872 218662446 857793157 364795696 674754756 900150423 817005905 705373316 215870900 840660344 111793720 407111251 100539071 969121652 667032268 583885495 361015023 514966017 945975208 683555993 218543441 630447570 246569705 155141113 214190625 417706813 184591029 202343679 758053848 445347148 224729033 208765785 802224079 236341805 250197759 868136485 361919721 490954570 755100287 594972336 733361636 261502451 843597901 329114620 581995937 112553681 663608502 273624810 592091423 166715024 711031326 172900599 320146757 397460959 576232174 572329393 999875985 170096065 800821388 284963757 410152305 683620616 217386252 450036770 578403658 500292219 676509563 428971455 409667912 249800875 442895160 988648885 721683586 614413121 297092302 178626234 184335523 436187744 787304362 996825874 292790445 114090222 396370253 630241878 501667863 198971813 737450006 108851209 579624728 664870323 116214854 712777706 487711357 141666975 768552903 822938044 725666233 228645197 856352744 768021734 580032372 653321672 151769113 745866321 727779435 575023364 331260555 297815930 253294942 724180155 527677227 575181494 776759283 378933961 751671231 111999738 470324280 739528952 984182979 290483114 286179177 583267073 646098538 664858628 210442322 674946181 685947690 248602600 561501405 795535028 736150288 615854158 676262086 866247170 509967528 384089916 250095732 118836518 578559749 538422179 571892859 559813331 471595231 725211404 951146745 342471436 129214616 801679860 773346587 575942087 341474065 498683064 434359168 204654043 374265506 499803124 468495574 824376478 855750794 182565570 415642248 780490915 792278337 123769880 238956392 102774404 946979319 479996916 970280244 376748814 312040172 724162988 849273092 128797958 373346003 662596314 290161743 155556957 185524447 873956107 263679394 371828940 369343000 859092758 276034303 147889583 699627035 445795639 972634583 841404140 782179691 433482902 110670092 160144532 309181955 519036660 456823161 512525897 571537777 504211203 336184496 404816881 834372299 405710925 119838060 259580510 426045502 817976955 897183989 332871408 570110726 642227825 575074409 632433815 178505990 240706675 889895460 640376672 686991499 342875787 199224858 186914367 469801858 147321842 824264875 998332733 198830159 243695518 617446764 662875170 206380790 493420165 590429776 322778822 750448139 720448999 984797146 125819681 227063457 740938730 500077334 339961197 974407210 533593413 109124797 466961935 904307269 937817193 708885817 132635735 792061261 496149713 781495393 849366960 374001749 676478768 860193394 488957906 334640365 777219107 472302984 884194837 177043338 282831178 763125693 924055958 718801574 212045172 730704744 255671942 766109713 891750278 111775941 295921746 586764637 559292961 920773071 534289159 667006952 472636930 877775255 509998008 724555171 393996943 732019084 156472278 297288550 766247856 348066816 943336174 477867497 950881047 716243337 797925397 764847184 692184037 284512327 393793668 798974104 867422381 400101815 643230317 959637694 415501275 970864578 575983458 188306916 639981476 904242380 447459349 371701861 704785093 201171115 783916167 757004260 129982429 151449984 745233407 867204891 935206888 923668114 807167972 991425027 146453308 415280169 394020424 250371560 162513909 699810481 299835364 320034164 275114814 920845585 110891538 372302980 393507273 392925083 667653638 937394369 417358412 611872000 778783017 463930070 957172011 171999412 998275584 264190598 568635969 703331665 475999785 930733246 614013865 516365959 157502766 346869477 213230580 150393130 248877884 736551383 104557126 753147466 663091274 896920891 457510003 708948194 499838275 184694375 804727055 247548187 471723078 326321309 375134419 168665491 476678300 200974864 743660085 630406733 529944652 952423223 477080266 418904820 373039357 195396291 886634203 904905367 231399082 305270702 533776880 480615286 411370843 389492911 531207664 456287258 692326887 353597000 460648540 127376424 152609171 527136086 676718577 623198714 419348860 223516774 441321686 436968945 578556832 534534196 296150885 276317597 712185014 420033052 614117160 672741361 831181817 888739120 391530703 664210511 587965017 612229604 552217896 736440445 604854931 578194616 444005897 981895470 589034469 559972285 534138220 628425784 676793517 241659849 100936227 280266411 279196716 675608542 362381786 683624422 498194701 814598577 938366203 187625802 938333237 417194457 441652795 641431910 740566386 224665196 465645268 182016769 315684884 599605487 677217409 725548628 749630574 139378687 922479405 616345642 836855072 752301976 740735205 689258042 258246433 767758222 989168371 795351431 141573070 500399834 638788762 828823837 509525136 170219170 570295794 269981590 160674241 966086455 457975164 768705591 857607216 215623349 559484438 909503691 280187329 315834795 134607458 598295333 782049431 240141881 340101743 908792920 421520738 179826248 454809603 532143633 480215395 779121101 890314496 416216512 941868072 531949523 633679690 253972961 730179314 724975633 397410285 714518426 156238992 422715127 872747753 421462496 848669440 513331290 170309454 944277464 937707741 537374480 637890313 689491692 699385655 512518719 357562896 281340983 366119277 489113908 764615733 836038210 204735149 515132281 973987165 685969067 402048289 774390237 931303125 774883130 402147691 938962436 191425275 283318020 357076732 683079754 675166646 624248330 703773416 959744369 530057403 798380208 608468807 488129597 616431329 929637002 375112176 380077644 328213736 761116235 542450949 619549081 933151058 770343777 502268542 474589796 389928511 530210459 781264138 467211451 111166932 615608835 508271588 182093674 233509300 969415304 707090323 265951795 944255196 204018903 894166351 458801075 233847970 406884875 756393866 187749651 598681366 642507572 246034485 343260204 137079742 605882265 108571433 522177619 399977560 621610805 248548967 918962444 510524791 426861871 728511060 238628707 653781963 390125459 690511162 698121586 914206538 995083380 745811547 716286505 779791312 124265373 648796732 178167777 905872391 226549692 789275019 607864550 376146988 424192157 915123819 727310597 531917901 991922719 590777985 664433497 399163981 364152341 708954250 147781153 251441113 286002686 349160799 415058018 170995406 199429057 845103591 265498256 659168962 122614475 826077843 789204470 195126322 682106685 614263634 622087282 211599521 552477618 591568086 205632217 112502653 951195106 880913455 921117917 358300782 447066161 102124634 818062723 758729507 205674402 970927451 289551915 626202260 633691411 951486806 462141473 369095109 160509318 773781829 509165694 563204942 298348170 977704202 502250412 848937987 828042904 733569341 314993593 284883018 707531099 905156124 888936902 858336902 315280486 966698009 396429352 694603081 699787172 908484497 957614467 816208327 561021433 165957396 173316988 557865066 111109165 877418171 898051794 300099499 668946619 621195303 972209188 186918212 344047744 348744057 623581716 608579338 494069644 584036459 357638330 756091259 812494593 361418137 939799311 597871181 755913056 920459707 622255117 436686544 686241935 641306023 813063959 395307463 600184385 579590461 240424896 586304003 781265961 813486664 890326629 800424579 252322292 197035481 978046522 104751532 330775257 701735121 323500992 429503762 837868714 369956111 992852836 866017757 973865301 961166882 186608478 279253056 340945139 163095446 358568704 661503381 438527947 844647544 980746712 791203016 259176494 523710747 461458081 683813213 443314375 987077944 780441087 378228543 333918752 534413132 935032107 257811172 495503499 470884120 716901334 281384023 177856601 521346444 518757908 732371390 657568505 260597467 718192722 155793442 386614508 601063518 764476554 444831442 607266621 746846129 534894026 823935804 808997918 239617796 763926742 844916275 455080189 355246910 575958722 917952882 484649863 194131250 261039552 118910064 520750012 569104283 601978948 369799865 240129646 660711042 989305976 292403170 746103155 134225673 477384892 970139697 821930571 876988345 166305868 143429077 255998765 423475977 224572156 841560256 884364159 616050049 400349304 159328883 760572827 911483225 679787372 316514176 753012000 572663170 648907192 995092633 842703017 927823761 517050306 384865557 522982541 700971712 489884180 436822538 666513932 756153248 535557902 809884752 646655725 214881143 865048049 765851922 899691047 636820177 494180164 438239034 628233387 449623197 490218663 134719391 237751598 763635515 759444794 197561226 561205729 903770462 515081130 964759876 322691374 791203179 616871419 706993642 682535778 793199132 286803235 125259734 973149273 737393786 948960165 630898810 688380655 293153690 983489947 286804852 441393983 175566907 703274436 715550862 689512891 458547163 348269871 333239965 815521831 478660379 950325237 656152872 492447517 263726534 980984621 427766780 191365196 717162289 848383262 229910047 783358586 318786690 928790287 737281074 858534461 191690503 743765422 743484132 877128329 459293329 124433281 780352129 999857267 384243216 610912358 623847329 180406332 422584229 731030197 710587809 773829041 884230235 593244296 894348508 866511687 352354801 370785646 377149616 756220496 198761911 381387271 237047304 111260772 894541780 272417289 913840583 264845995 514628305 298297973 441941994 645822321 586576050 458536459 845537328 464040401 803637458 642871557 304156120 913278800 275809448 912758877 346677889 491300222 289421836 665945512 888394428 142212307 980875965 200176686 209311077 644577240 509798734 408251760 425662727 640493686 948558954 656152135 134561885 734320127 912321248 866165467 556324240 213853159 958096356 430582876 533358218 678088669 665353504 512425091 478385012 400167093 224060254 540959526 828518641 679840739 233996199 958628709 951379246 304589958 903345330 747077392 425494945 778629555 903301906 320707511 950280865 143510195 723786696 307934388 251125274 521076623 961496834 613439655 556288317 162732497 157983070 912443182 321610714 617975456 407097074 527794932 199389155 235864370 438145771 726215459 887119955 318280552 748245715 123309227 295038122 799491237 630766699 507364094 449381613 634624970 396286435 480183670 966216277 535280304 674003979 697094727 831975662 934593231 597096078 349576418 121876588 684735286 784145553 653911729 666301060 202744825 664852265 923818297 129907095 872993125 261158939 297352693 880718283 940474180 384421427 224155293 806403253 444815991 364907367 958261582 134044358 365209853 184550468 565410660 421064883 426444152 271693505 971023862 150343210 908890100 916549120 674312535 256333725 490751041 220461742 953521477 738506305 855329486 174971109 582221059 131786660 194575518 423817514 760253301 369668106 358532104 384367382 536824941 426984410 859714724 111308950 746646543 289161389 460986341 344428174 698664252 162970349 814546019 321870911 842769831 142946343 641320930 531697432 648819939 318481082 489194326 295644473 420970386 335452762 457607845 632700539 428781362 825893215 594587966 427338884 611931015 727208269 463641176 958619960 921311888 963922154 906004645 877701873 729930822 213584549 293714840 346860789 862723337 378612369 987963312 198574872 186996362 797186656 959856035 478927866 731810842 324266112 197264716 765566996 846034961 248021628 622390459 488413506 451602172 368615102 724919029 595212585 215645257 587987342 398143206 351287707 506910575 829632948 905400297 140995579 936823637 878360057 955461929 195204188 524359481 754177818 561708710 271516234 778356141 460251063 850982350 281509681 888298638 190826175 823410087 890259277 615253374 430740042 639237394 593316014 114997040 601257589 429803892 294856890 413774201 576682598 843634931 741659195 505395768 248755379 380103882 398020961 420657937 213553935 487807799 951643538 251743589 652130812 765435303 861595894 166869448 521301441 542533513 947761814 915188710 695353976 537876013 710474577 986221122 117335602 916974659 691848092 585926710 475772329 127284994 471915513 307235264 577382447 714280501 144760698 832795952 777592382 987134867 768475764 632972556 220365943 874874061 892476676 994874645 324511798 463037539 550454949 919850240 520926176 100944727 430635388 280307648 780801062 914458500 899871612 380689991 565913287 100795213 406549421 981911283 129386911 191318559 666155256 440816944 636315635 452698675 985799659 278004782 606374149 301559660 828290695 632170928 333894524 821755196 550452620 859593353 857510504 346792144 298009102 448814421 980625031 179956947 475105006 799146878 751973072 356862072 101247396 537530324 590810651 928770458 732738507 881265639 736600935 576672874 256554366 546921465 593627029 698084335 734848261 889674923 867531873 445339620 846700727 943207675 657759255 493289638 360715763 145371532 214235054 596117673 486124706 255236088 630113339 724905304 490194360 736285217 941276337 576130352 861343091 878288760 741900639 506311891 354023449 935710574 121521687 914132099 422943452 528241580 987209890 320455985 465363045 376981971 116205802 265976912 400206599 493788553 927215196 303759203 874051191 672784196 631236024 812425980 862519269 558281524 992615558 614766558 281995631 118187198 950179569 961195464 610791828 779931929 443757686 948687541 348625921 972820999 802073000 399439348 574094354 423912249 384930544 532968581 369563373 439579112 264131420 161432873 185962485 281367939 217087269 287757776 487381352 754671159 732182365 635619264 368136815 291341411 602830280 680065760 150509241 475336195 552190273 939209635 833050457 207453431 595917093 562894007 724995345 587780010 527843870 865991981 119399047 801526627 957815514 674631384 326190732 138092731 830677485 566184268 244323004 305518624 926916810 893820386 847295365 457735028 943790065 292936592 733753162 810737071 331382388 620486390 177718278 133699337 316840621 548095451 202561177 623847338 864369062 552566258 928958590 946553319 477478410 465997459 250040118 645796256 935161539 592352479 985242056 981437712 252671721 371835172 221454910 313972739 102890992 255319325 563069873 886800081 181956842 729346511 629859797 516689980 974171210 682820115 394159934 600253668 332822141 491019025 900502181 987414150 907807336 857963982 225831088 509042132 967054451 837786529 542866764 667943373 574591359 449645899 393189166 714788859 441674141 544195207 350375258 213658161 869486324 925879424 373068028 838345686 921570709 882759675 825285680 400432946 949980240 878649000 424360575 161484610 383169022 745371767 583971269 300892905 225308765 208974898 974238937 908995402 133101595 867941304 649352500 683569452 443153008 287342745 919875126 777803015 245753832 153230607 187995271 294707242 824655143 162717263 675136674 930885285 487327967 806733723 303708891 161626818 958104518 854884865 953856075 369638364 859807287 430861780 232758470 249100865 699204593 408494141 977961691 471780593 670449849 111734686 745114939 303019743 123430270 767976171 596553614 968153172 176117132 717207361 537622743 839492362 491250532 295007222 428683171 974324176 128923877 581264268 646338908 689597557 410086251 679254393 459456695 702061768 724842529 440904665 585578884 930966645 822656618 442788206 563684112 986885539 940860103 657214672 204601088 961579755 665548803 841552636 870326504 656035592 225069944 830364082 969006416 604793597 508283187 264581341 334296608 470967968 659542732 848309708 494969818 268032500 954291925 689981424 910016491 435487914 183644860 792163463 473326570 519678416 371621669 196694609 726980535 791186486 518560495 766124000 775044453 932348304 355303107 136755798 244461429 511549755 806264132 354727210 698897833 545206171 762287550 461721427 486977440 867781385 240010860 564844736 724901950 588691878 910878767 690134918 470708908 198763917 287501384 836158030 712191712 833498812 152908005 344159775 832951958 424073629 394669917 276766236 880144018 362192948 155747831 989210624 337135843 741713988 975314869 218313870 692921107 866968601 501741366 191471354 287578965 447680705 681985686 897674591 421990155 289055848 101753970 750016019 165014426 895185422 755647816 386673296 749734437 303977695 918779142 103772414 497511433 641641639 370029602 991521848 171612322 957558135 279531732 130686410 494213351 888851719 676282289 262755758 796533914 728107958 477771011 397362902 167320611 354727662 610775344 204029790 615653156 574621531 626152230 790714369 656587133 987421474 425216192 517096232 620494831 730565867 402666631 258017777 507326267 566056261 678931740 274554651 635132645 332387396 402570913 852285097 702244500 406666223 319272657 376004726 137623496 867930201 718658769 725073033 241868767 691180827 875938122 735620077 920997649 549139647 898858510 213936910 433274549 792684634 608046557 260282889 779524166 116253901 619778847 878919547 562044298 460209403 357990078 726185991 776409794 513336116 419383299 918835260 326855551 587720062 114476919 184147980 231954718 722191505 912012393 831777834 593210717 386503984 492347232 303027961 678861211 355141033 422654229 104591962 118077400 284754828 122504687 411654304 203837671 303534922 771414945 882595109 605404584 838303963 243879271 805836787 237641605 736917739 535428484 930877865 813306167 342264340 731220422 142649439 488044256 190993529 630048362 524197359 654380614 507614288 513981899 467696392 785493299 395632389 548949064 871509172 293081708 191804482 816167887 510135260 818158541 515148200 793245706 435492852 297731985 892836858 212735464 685445148 284672805 450410057 693725855 679393994 909430651 536132966 437006745 984727289 456799962 574911306 783843376 716896252 375409562 924759286 193221600 238519411 875237514 674273384 608440931 546470777 955784995 116275016 642587687 611780178 676167812 294625746 270895477 923696158 382725712 955959827 294196323 720457325 162625105 393177066 292806872 115954649 494812503 819172766 719337610 162994481 379034418 229270280 184672307 250026203 199565566 937688921 596899685 531255883 519190619 596492688 262031775 691227120 941825819 631222083 668850081 943547478 754949046 644757723 565337666 732794598 651745221 139282396 273194973 560229132 916800129 973514775 152491796 877978471 239780347 655450006 399243763 342027605 799049605 440231099 426177751 116327253 247855058 619400875 134575631 518201752 915295198 486779722 577230825 679905268 359654623 743108751 956644703 289368575 768712661 626674804 787766115 738521322 412222771 100614794 682666638 235317578 596358398 907710537 709333451 256503846 492419446 832275906 277065872 874510112 223041599 513946210 524374582 940886771 712738655 481094344 465626313 189604624 346664941 967391660 513573102 898614126 988449122 522276644 527939373 110971474 550896998 279662652 245570320 580388986 132921566 703175514 715435429 456614326 368986997 770145926 551748806 498660775 616134757 176794934 765013183 547681080 310553563 489874458 855628197 280178067 568621951 835319978 821759321 404062262 366994002 369786747 301300876 703038914 400342049 139849346 626644678 411818071 850416840 747785506 718309880 684901076 438714406 431558248 271976005 753413294 905650286 324246880 512807716 956792045 974384250 860426509 277135716 860204681 703033586 839177381 307550212 627054985 871707056 661659887 438164696 396057266 748090630 787718870 204373141 420800802 884325817 807443226 809524113 655649564 784671301 750099802 968111348 825292266 524443013 909852060 653272594 774123504 387847160 151253176 754211688 157974320 954346392 981327394 444783960 371373452 619970977 568794113 716527814 581872448 974413029 898970773 498437290 453896791 950116335 899185178 673534641 563684948 892917570 286529623 252803644 105986442 836241232 271599913 867494294 815170233 733772842 150559085 421400583 211139925 377613048 568725477 465595228 480680551 413947332 351357587 515166580 107070952 469978304 201985038 719445180 973781726 169041892 450222539 104887096 186159845 518765007 164088798 409674738 715251402 421495698 127042604 813611836 930302004 777180756 336186284 494320632 631125699 921200785 266479437 664844319 780599756 759756223 136905778 552434258 670421162 786223280 471231828 526099541 191499228 890742166 920767003 482671941 347675358 505230927 612724893 224664161 380609231 184173810 846535869 719650961 442336914 968860468 249576752 468786503 319042110 724627283 703370111 302260034 788521597 479657683 208837259 592827758 438767239 183842242 354339106 514014060 697001861 768987037 313178997 479328230 424048279 314361955 570140610 984008286 546423299 360783077 696484699 242216286 535060480 738320863 990089211 288987061 393834328 189882456 426634277 741013833 480459516 302699688 106738751 826154078 893573133 711478383 771755234 788189161 523806472 218873364 690500570 851119134 497706058 150047443 948421567 657162257 734707167 733289902 522557634 284312773 509784620 758393015 847121675 659293827 563112704 569613981 664780023 478307620 325812606 618079703 408637286 173312884 607305694 465534389 415082043 140138047 268360975 827287886 484637365 506771888 659723120 303060215 709057782 301361786 663645855 446199431 132589519 919858052 198916964 935024692 687208453 281152550 508173296 737580612 505313140 480734996 138214295 471687175 127712320 798413797 908460288 613959680 497764499 705573853 430577762 689828669 571960780 334288729 499779968 432518434 624053885 971431118 924126489 179473434 897366562 629019344 460812780 660541071 633926030 886952652 237173171 720002615 876490308 911453138 950155431 155116316 618441738 174935233 808356127 948519376 272352815 257870747 413122544 295383659 673237286 620703054 908718830 144373693 743636260 841347408 159547037 979000428 395232887 906581537 271199011 614416527 387732497 176663428 685029971 352485607 334625237 110208986 629052940 175826622 444288435 264814918 200668024 319447474 743056372 319720232 578819531 679039614 918982210 483826640 861983476 658367458 730653658 256085375 269298657 759335645 245120029 164143631 430264560 360342364 883103839 871085327 520315391 252482120 377666968 197259690 405888258 791248358 133048648 873977431 638053095 572648951 291979764 541594779 721090131 275953521 793749737 181421620 198629475 764508268 374122555 138578098 609244744 543123661 875454030 471062653 490149434 730291471 860562207 995384147 262658081 132976111 864811194 516760839 463187724 289558373 436776808 599938651 444206863 761060274 594286946 614261194 760496919 133193201 195922395 688731117 964576280 253339080 792914484 141345388 803390271 622969096 557320574 177995863 748545341 885884343 482458107 669564604 963832302 713499286 335973618 453939523 974852114 212263073 246386009 547636679 531528085 326305839 641392219 408084701 823280390 499207310 458234816 798121318 286050022 625382446 327354863 345382383 914226270 699387789 470773565 839968007 499361059 423433718 613002439 787494836 207758446 680636812 365270174 575795893 173014184 230283514 816668475 346895607 921297302 737730780 419450874 221898029 770444586 397448894 653915208 507484630 573880746 683768182 197840490 161769826 645424573 376929444 327180847 506293311 968702575 442381465 192627882 276716785 914078751 613284417 180972094 577590056 776093147 580170356 258701329 801812038 620431590 685567488 936855161 246927540 876499197 316474281 807230704 104107177 799968188 944557704 708223484 436891066 513045357 722429712 377579722 481012380 508878650 590473281 409245784 400007401 449754993 362154958 879466358 676198183 440898078 289688427 594747295 269190265 779586179 762118464 565289423 508834586 380583791 500598101 157527798 598542525 143857688 701212665 301853070 241260059 492278910 392258049 468062332 457127573 430051330 946083014 884640427 395069021 140954020 446901600 646711520 366128716 192144531 490673915 576300969 240682939 127598004 986290179 195872402 110010947 867116251 486989380 890049229 779133497 113495435 715931389 717652104 917962365 972391182 437897445 573129190 706044434 384762290 348931358 478798937 550614430 502433472 724703754 717942309 787808477 313624736 833307175 444687776 324671500 303495989 340827108 246787565 610575445 809653809 508947734 836461415 377343701 973829522 365688227 811806526 766074341 358949593 860588708 569302430 943458049 343444334 900752887 831466682 756595745 459236440 857312092 755983085 495057551 736215183 244325676 570097481 347623594 938249047 615288166 904574610 595584505 625128655 160884101 502402292 215696309 532969385 252693337 119123195 727043225 235870277 409859827 370276211 717153491 722808624 406616581 719231099 284178968 933909179 727917616 388978495 785613731 664248197 988675167 754954121 975040536 606363785 586489343 294397898 369245367 891061609 221090216 780393197 762242169 746165623 817544309 534669048 547019709 655051715 799064922 809220518 121809621 893341840 885038934 405620732 928351805 763836836 187843733 737217888 451836569 614622292 208812888 603744737 211517095 678852659 206530617 205144926 236308979 585753444 197428439 297190796 707759946 973043458 239519142 439198649 933985128 519796345 466695342 633544266 998616775 673402620 690050467 290242822 129875735 667430604 405184359 705948142 439251747 790912497 503664957 146486542 708331011 714688977 172012640 738266571 849592310 920160604 511587000 764141861 744236302 331740599 352447815 242472769 370007832 171092068 889711133 283007559 941431670 375484588 518232593 465288146 996753582 572159164 728174023 883475657 562152319 905629466 518403150 542286712 291974893 543615224 781989462 190590038 156446913 534252337 217279398 887427357 780739257 918286512 997381489 542372209 528114695 632602691 230491902 391560434 575534966 100038685 145034711 700248468 723455553 734028425 881205147 324975329 719425513 280332257 669368346 871176324 544926094 731697463 370839566 713328471 103513196 335558100 740385382 449394905 520708127 264249305 455762266 695060870 816761603 648055954 190138505 856338397 173647352 581293664 309544734 653804619 302625484 975086362 230778999 480279019 335217901 583713506 818220547 888853188 224629521 748992705 340536734 958505848 444661312 609910973 311427022 738141298 477371250 827664160 611421487 193944843 657899540 498730826 790780525 412180749 800134417 929843391 764864386 473086878 910255607 719981329 345128004 472381123 854734401 814668682 656541701 648635233 362309418 391919737 164224606 790813486 837701392 229712715 962272514 134311264 410052674 452384000 256503304 928076854 479727715 808628827 724768248 515264985 661184035 625247362 102689267 261597604 608076310 111678706 799201069 666895667 461031297 530802354 809792903 240125349 442575058 103548617 434873922 126116803 429608010 149875738 965359154 705395814 618369776 460292835 257879979 414029818 765804911 749570314 915142235 110881488 172410971 849268128 306927104 457093822 444635027 306523925 797089057 660093790 258452833 518133902 125952278 331645605 973758895 383154145 358099447 426410460 571408874 211224270 420280265 593030068 553304981 761757000 311736902 262242724 657055800 121870061 285809901 927635647 618631013 724502129 785544540 173134150 121257651 648478395 493976687 874955780 829500776 486293115 890417791 923751068 294920341 756490109 698903990 736682182 893753218 193427858 904513250 844134820 561914561 361262994 652622917 435552864 432009507 547177823 804217261 991119690 238374293 421890266 926548783 220281459 839065042 191210306 460211236 373466153 304650979 467381592 905312811 915013252 734972190 162107290 393838219 345934066 979632621 224536883 389541927 606236025 942553622 633141674 999553333 908797252 197243636 989143083 519007098 944480225 629419978 297815034 585601810 384042302 171182459 524151403 963524717 597605870 381355925 569804428 868454609 964142013 740108777 997416702 382383961 965728776 803605746 428778249 594999657 555322722 393133477 204296125 600643581 381519986 332647405 394909078 377143250 786456715 496118093 525206115 405349212 780894343 308345163 506964827 365524422 791449044 909818582 512748161 799466663 952364335 485859988 910390271 531172452 803453492 994723170 341403438 219791942 827477379 362621272 229856010 750788357 631502376 232822310 659029718 952005067 383050659 517447640 184271455 545829587 816752877 175432919 354876330 554754110 473430369 123889865 577696118 835822382 313044835 431445924 195372239 998151703 262441267 231508696 652718029 728594645 805218501 132705145 248638254 473759049 643252195 230297096 567696262 298559243 819980031 946595763 809864466 163110666 309221610 228525102 841475056 582630023 643489469 449343046 808125583 481853425 428514524 836619015 542790866 200808614 983082666 464701828 377349852 171671131 324038207 844713789 490433512 232925712 991508864 536715406 551013068 414983563 539183622 103257104 578245956 289596851 389238678 854198643 624635685 984979786 316854371 679465996 977871729 520044845 615523173 670111012 971643819 330833439 900465499 843627310 598410375 919008909 389125204 198340933 230816107 544309399 106724609 735256993 760573225 511769251 442875458 587883372 307450449 602981035 172720750 666795523 472509569 782494411 725972120 333570345 542283687 383562725 657278821 399174240 826789084 655352543 530865713 995041427 709326008 558751443 458716378 210354251 205860999 100106540 801517740 728535213 250146200 686307131 925308298 600888689 628295797 621611886 342589955 479827131 734163923 865682717 117718662 689851716 412060926 863096053 115024642 997627631 869385106 272036537 625584865 708287459 453565116 433791167 800442424 310705996 117081975 882295624 581976522 239637254 910134887 981935891 252237521 447036952 816501352 751373979 990302435 606610639 323394949 165504426 402055808 129317586 788251749 571820614 607559723 979526281 749406397 268044716 165647822 277856529 411860284 170517146 351336373 769855589 244401846 638449321 979751240 310669631 963903063 447205854 916867973 689154795 102893914 184410884 207759718 750772652 335407361 566260323 407714033 911029505 468324455 120671721 274404859 325876768 239044627 625274647 811754850 719870321 796463162 807855702 791789600 574407051 233997446 569000356 660166473 284784634 764072015 847835090 498118533 453464530 795796485 669551988 849301472 640928412 558486245 338469712 801786662 509148940 245115017 569472683 580564251 521579102 838771581 753554455 877630131 610344372 208683291 563446977 681719833 559352314 100223426 327694390 265892302 841586446 161066895 979663572 648290294 593291254 716854650 206461915 590008706 184884438 849787089 952073037 665391060 325278457 267837074 568674994 375163027 328280035 310364179 198090900 162279457 485196065 396786817 270304358 998843245 593830924 563247638 968231809 940994830 696942606 844183459 317629860 220515125 763943183 195705837 695599825 527378117 425356913 126750288 969974429 439727556 846734710 498185441 444860068 805731119 385742291 218656496 208584900 826834560 801616139 388104830 875707573 124462460 352881280 541219842 337208114 364702449 318054841 770333819 369826697 198823577 666825773 803051239 886232544 590864173 690984236 584854725 712097527 439401845 455308698 356154021 846641139 606972924 726290956 948594528 151181082 903525112 565800214 174696692 409719422 900681650 604017755 522086882 690005546 799392439 232392078 488521315 158723793 191790140 795628996 584424422 307724666 404318210 921031793 536487766 995165664 473775582 915537252 178781427 672931379 460420762 984847413 970146865 374677367 964127665 397900388 640882611 608366791 617906064 190793145 527620278 407707468 745717748 383094644 206203547 431750663 674960559 737256650 208053278 319238152 901232197 324654501 270716499 586853446 854656354 185853511 266600568 566631437 950142169 559720136 125181980 474642647 650307563 489419695 819590442 599792621 449351527 805113898 284419738 141684395 738316241 197764240 991427671 505263864 989404209 105608073 439922543 942998737 473601425 965455498 561481591 741321639 639605484 572821750 417656148 905195370 366245434 500663338 622084157 542300335 587234699 886952796 822346316 514731435 918173795 699389390 642171840 320316428 234519269 830527418 577935958 452534266 140336147 314622044 638401592 222888925 654455687 908099220 905624520 111896980 310797179 677152217 443091607 960436458 688175085 859807109 863044728 648331542 885674289 616970067 471998546 973281478 262331097 620877495 707876899 435095555 720521627 306075937 997027944 288429354 975934847 326716572 873445890 137920486 770282775 390331516 331894744 903877653 420088712 217302144 376362200 309999839 645292600 231489254 813699009 553721550 379118489 383636468 941076167 168214554 821718863 788011549 310897609 221037068 187546237 361300237 817236576 479938821 568554973 642100013 521698463 761047773 794712639 592734762 131085995 573165929 339022075 757454529 963898328 924308741 466368310 503526712 878028629 606851857 738048093 549569960 302283202 555411233 677598432 450754001 686034154 826936672 850435400 518210658 327531792 507296406 459350924 213902771 575221720 467826783 693757324 482838108 708536468 100705492 876715654 679058542 738748350 893776154 922491058 516220786 143915747 655513909 777719099 346814842 505701823 272423946 973738431 688860998 832909221 423980483 298812810 964779069 336590605 919693857 532893730 890751444 701621270 794113247 352479201 229069326 832001564 735699450 386601681 896499855 976410143 863668334 549007111 935746191 690601552 803766921 847723040 270702224 207537440 187164189 241905475 824349823 945102470 614204775 620055156 715890408 898021604 620755221 467559001 265914163 823678488 772433856 886144564 803040039 360115565 717102300 770173564 573484307 413503952 861703000 719112207 502566417 292856588 820120863 776756789 745722605 493205758 412161654 959243851 365965532 440992432 668029033 110526524 617422622 868358838 879188141 635309746 862420544 594705477 609631537 660896215 105329922 442216353 135727037 181925018 284287450 715852392 815097448 597381706 338313882 973378524 219994160 737830884 559851297 241477102 929560533 602462798 394271269 277683167 288614181 502818889 666509075 698962854 635297861 148772177 921627061 372563457 704959419 660309949 770981743 891368336 320515788 338616624 558583799 888582019 997163206 731620964 534379159 446702617 578136961 235177376 745683240 531316193 986195600 532499266 465649289 215097286 933443184 803699324 703045373 626789615 475092050 960827347 834125973 258228688 686361148 835830402 882919303 756510268 956185668 154956649 350319028 255515103 671175508 637060533 388038304 182736243 630277456 969425539 205026391 126818724 785607748 879846898 503399739 232045897 941047485 771287667 432529308 985440521 191795416 590075878 346855015 904937699 250040167 404987290 557870673 756438848 703448667 373179125 128392765 356973096 879155391 512628721 591455757 802577261 879526691 558500112 148492447 256472390 611153977 455952427 709642027 837976873 641886961 571305084 374200356 772762935 495544829 441935674 905335986 937375465 591407113 906351480 875334715 892202439 422211466 153063280 593561715 324799358 565322843 725703986 728227382 236234464 529405781 491020946 912626019 709692853 943599018 150682160 990310544 611971619 635631124 524164559 910627644 725262666 420245187 198171031 998277734 890043763 395037937 814522570 469004476 192469426 870000707 538733093 342451050 910514255 646781652 202186851 141420365 492718541 608769976 689656533 489334187 330430331 840911721 324151187 356033171 460328635 604222286 852297879 814277675 898407741 527741163 637620960 997850613 704106745 209379198 253494934 964905301 749290872 571910975 241897284 179457624 299421386 841899511 327606332 477017365 927019484 949026724 219313187 333622282 817840174 692621529 197717287 116102030 991712462 723965665 925280251 433508467 927038097 185833028 739674349 407302432 963568347 429374122 669777672 575581749 240031027 211948700 447621098 705493317 581248431 345752780 368192085 168765744 461545009 812857807 987075290 231229173 353907253 876115571 621038542 251893038 596824449 111151831 192812375 264883551 804019234 148639041 393536940 645778119 757171008 982046297 831910573 988310026 224601223 506439335 835070209 394852296 701804406 876360361 441029410 654699676 302092303 521401863 474995799 525644638 136064526 732095277 489353727 927495218 784720767 301382891 811352146 473550938 301239567 521291019 118804697 709048372 450850446 396918863 107498744 987788190 711440129 370096181 947983783 462595961 973515381 729566949 625951963 461248649 196997677 405818869 566914367 622628882 335573805 315483325 179353196 291276192 398406098 819193357 225015460 794252435 831413990 750509356 120366228 241053644 350359216 588596669 430365250 957791219 122075772 315623475 572527450 752846098 632154946 534391067 972826360 607254590 848753193 724083944 739392836 943308354 873986427 143569397 437660437 845051709 542825733 204853000 452119643 255353419 957839011 942019448 312621155 768506214 303302290 198106792 193220737 163472842 924922480 169100300 566188484 316501800 464333247 425423493 945371803 504672778 200439316 731353306 227152585 119674349 240242532 956574073 195266716 432642766 523380063 659063311 648393332 938128369 219691981 625969981 634888755 498021150 896531434 644448991 260448613 614269036 240189482 979903290 877660549 424401190 764368629 302574242 449623930 916840917 296323749 844763849 969060024 512089832 309525349 264127280 873869296 411928664 285029391 814224411 977920804 533305283 724592846 245266897 596275295 537459689 482719093 162499368 693226622 566893313 941377134 886683039 671912583 349161216 311521357 398667563 259060291 517176036 912417300 845154114 940935001 798066889 201050552 772097174 496399401 743203377 763757240 318325890 627814898 323970164 134346532 288730268 574444003 469209231 254683315 396241559 925942059 415957301 975825060 768368433 675861976 236092601 348040846 309401845 712677152 510422113 389048165 833262712 511946871 253512601 815406349 634687630 428968266 355663110 456283986 184614867 713977672 623353383 249606964 450356845 495542251 566491944 418977802 193248388 666912750 114206660 441859389 526584229 116977870 711626839 158192227 368466645 198188725 556103356 712320419 444235589 418830077 322697748 297130961 414302274 554428893 816203515 995790093 955132724 369139853 622315084 805844433 341813870 215263454 915723921 974213550 296381586 861374042 286826549 202054383 836962672 304408460 246003170 905716598 685062245 878199631 144711895 445815662 977118023 867707064 871723840 705344995 427141983 916699951 474090014 480720777 392592912 750495167 489085379 940860640 408939916 244459575 387444780 356694758 538484463 270350908 641264391 426305910 402527275 701196398 644758008 536631876 261441978 598394701 134772471 739836369 492982045 900629194 851236168 623079700 949933967 348875070 269640929 555467139 148412429 933308719 835473932 638288646 437997785 184924367 526737799 230403367 615100003 752364520 315417488 570049367 452468355 516159146 946202502 419802271 884998516 446105231 502004968 109524206 295801248 296636007 629645150 937652374 720693726 888209027 817623220 538563038 386361760 395206543 800589374 302488792 606760199 996883736 768743959 185875134 444310757 325349300 481794920 306489970 106340570 666469415 510819447 378248070 287930464 314110617 411074354 872109318 228092246 288789465 624121485 674919720 719048574 599908438 820158838 199486117 116620545 806567526 216993141 717718356 600188344 468379327 560675540 857421710 441473936 153446061 891874525 340419516 272687915 894035211 926174095 851909928 593147280 614914188 724598426 800202957 106117517 502347050 309275062 798220252 342829565 430876692 387733318 776881690 742787550 301415672 483211538 817325893 747331970 560553576 477808718 259126293 990645374 938512883 369722204 110593308 301254567 673180951 435215230 586940651 586790081 871408279 867119458 262241736 627910123 860765266 441473042 595125248 371284858 836408347 385166364 406390267 974210308 265732240 490924738 255800028 385907949 852723584 448818269 319469012 356796859 462783308 345784527 991366388 957902598 458331629 175100809 592232838 340314121 145692755 206523948 267248265 495388615 108167660 700627689 522006189 779835845 922902997 315166525 552459212 633406154 978955677 710249551 566999001 301309105 341252370 186940418 170165555 859665764 627613640 109834579 734344204 168473029 206967672 288587787 939002738 740047027 193289369 784332984 876647579 660846534 229391597 832191333 385905604 898399065 409786208 452305729 432546292 610362178 963833347 730580434 171875636 568718092 827353098 920185682 692024813 251563521 453554478 943696775 516917275 407072856 365132137 483029886 846421822 763588219 425568046 988769439 354640801 311576824 342651030 879337623 293584994 915738566 297524253 494355860 210962355 558956986 836278908 584676445 765672028 340283042 338493374 409181570 388129931 671292945 653368340 178755744 682950679 776432797 449305725 586069372 952490418 838376146 587700323 433182880 135222092 778923167 337134551 230612346 190771491 654030038 850589317 331656085 552988660 726603302 529823350 532969729 182993783 361795203 920730000 241866493 110568042 560840629 464210291 475482167 585935155 734670663 545825113 605541681 751325869 333865717 926347317 283699155 767420438 392955781 973633647 168657590 912574395 399841305 621437464 545390318 993046200 585500480 836982467 769780879 432299935 338819006 512794976 310831970 918588169 705522527 946652388 155010624 900274009 245418744 990086661 540295120 967459479 755874542 634856370 280597111 650747982 991123758 753875766 801765886 921286633 207278769 735716453 739132690 415604893 845251910 621062260 916445784 749612381 844086387 275183310 576151381 652366702 272136550 692209271 922588410 897254258 684640028 670344912 922617402 403958757 614514792 250237312 424574822 445488982 497638714 960545881 393461754 324965858 461128837 187062239 316712432 143404896 217984037 826295161 187363081 683054930 659536716 867693844 506596172 778252795 394520944 990619915 613771965 480292058 746625093 704410021 135803790 313755892 467071029 599831151 539557660 992936073 608274515 255306229 966356038 969039430 650161289 749409940 424946798 368954798 661471993 883304177 662811223 331993988 527081541 110371363 986067807 299421467 373829434 436039524 105097277 691545454 342266099 388165498 119377568 584386498 887536232 394302514 769316596 697593394 933161195 980408341 762359527 188747511 394103330 804239236 619359136 787525373 894157580 383864669 968231259 921210779 498433194 169172570 973401478 303715486 418932898 494378649 913752105 516741413 191707097 846851063 690306027 591790091 338142227 970941978 819160675 786240624 742009990 879613908 540070110 355999005 940066621 283579532 282011361 984610055 101594423 347461362 189022148 930152334 995087682 452817944 410674787 747234712 374460367 582276025 448789059 517376849 456948795 102030209 905490897 479604803 785071787 409634540 326666161 306698086 779701507 207225305 969232113 775343595 319517331 939034237 902031304 583003464 290922743 426451067 788431053 946580532 725933102 797923299 591570568 257742296 351937300 195801610 723892050 129548462 100484106 402907015 437817428 492349900 535771151 215439283 316784061 438076259 461889858 920612261 301758570 512236997 715031861 363521426 808577851 981358739 812872624 114460247 619288494 784578795 811675528 419477850 979323644 440484871 682130001 212453373 736169512 499486534 240669347 525744830 219199427 163622205 510707602 113004923 360401058 591563333 202407837 625354323 543317944 118451454 948178093 338006556 970959034 517167669 549988758 973472463 571180277 749583395 561561504 765387355 622069213 268677117 851649193 502538339 256470898 175622386 842551329 501279476 463036956 280710626 860627088 836674786 341995880 171851434 573441449 442074698 451112920 114031415 939436813 858007033 758831367 485025752 874770689 164831503 818549030 494751629 747692691 828670153 557625925 886436959 804850950 187498780 412411806 256101039 454142126 704369252 981462695 704253291 491977801 831512731 426798459 263933763 270298003 891565842 422104875 615408168 758975173 126975616 816220613 432103222 386490249 442823353 357385653 540320687 475129780 444002791 759734127 935567416 373367614 693682139 335958780 241577462 225812041 737166036 318182443 468164779 962476214 363093539 137107032 909494298 987543905 905547939 404753546 583944658 318169916 775783512 898046726 854338060 846482409 105512002 826497876 404848409 509563098 911630774 437350740 124359765 476795728 746189576 956011523 374534666 799696856 547641381 313315442 757973429 942413505 213983373 110436158 273242409 573870612 133327156 940522076 413668993 303005192 612695644 844929410 106336666 145544090 533403982 310396712 921428129 867177768 371538684 966473493 619236092 610430941 545889087 730855270 285524411 468973961 713672050 384991330 484441008 359349295 691108394 128991198 549813468 765440044 827530787 712067421 815516376 104403681 465619639 837873756 164302075 566169022 136298931 310025149 881988299 313561200 623789425 896964231 608293141 330527124 553481020 993216403 138023341 769215632 883308093 400215809 117436416 347443702 235472851 492617095 156047746 279051620 459420625 486539757 825036906 908613655 797761107 577941361 335536479 823204814 331413515 572522842 229649795 365932039 437839930 287858824 912909238 906740665 521753343 723003893 320592398 786809090 962828250 709922421 226562172 953453742 508793332 408851158 642534329 919374614 932678858 589353184 843567867 284819280 626423346 731391791 442663655 187599350 713975779 757047407 717996151 737098309 776118782 813888439 235093343 311842602 395078595 546579671 148983372 187547844 415322771 314754988 612586481 990555109 542385216 353415700 529781227 315295760 717348816 117684144 767606831 875399930 233922002 791514162 688963028 558914095 487173887 695298278 438877652 387487118 374370560 573833071 985127048 890669312 711875216 620490280 450183262 315148999 608667727 243535767 956946170 941020774 183018271 441603688 446660509 560733246 309006772 207270894 553249490 377312363 840977948 275837363 103800657 104049620 558046036 554681990 301924295 345047773 571011711 403042233 855640372 995923546 971377397 626312775 183257094 898302407 173381365 592495883 722278315 670072097 282554271 228535139 720581022 694457794 184205736 534075485 630912738 326811968 673554603 552084801 794414704 195567715 418619808 464330204 494235909 789435959 856215122 739472712 966693327 710399665 796344585 873067573 614446332 276729550 921117272 149648491 632390605 109645332 195908133 638692478 736048673 996493245 710014614 363604571 217860671 715125888 545715575 993161798 835284811 476123998 550259414 408490006 149656348 655141753 437421978 724004400 288270696 138129790 577903076 818964384 480578874 124454174 115117469 339737861 993783792 275213431 556906144 761930629 566646217 933161558 820728624 367294979 469623304 521953159 309864570 286715277 893225511 774139628 196385824 644367094 197429568 687486992 835590354 969152428 552458128 568881342 827014634 290635534 991624978 272916452 727373851 410337868 747259233 873723288 934647918 358172154 753666236 274312800 133095359 758304320 216410947 940375758 402224913 249509229 578153636 179449717 819905071 207481232 208735729 276366613 130795982 116390345 591069748 749950532 306825548 660812725 776630802 184889340 779926308 326788235 801486595 585284485 867654264 998228615 409440315 674709877 216351693 253668151 477415223 804114610 193386608 508002621 203411692 878535252 279192001 359940821 416211880 292890157 605590921 217004949 111344337 510311359 178312850 623888515 814112646 486700788 414817097 841781114 432222144 693439808 288021012 245659708 534503428 786542195 260713788 623728096 492557243 345990877 446802198 451352174 813667679 158937970 849913067 127516235 116257184 299669625 312589724 994791903 128288765 163997725 347618055 415772909 143760215 795496540 539283135 725578276 220155834 466020289 432162460 409722048 944302470 393379679 333920298 564268321 772026910 128486090 227245971 180194365 200202604 970781445 957412639 714711176 394098262 199443794 472034582 959774067 288133172 632963061 957572941 578942398 929028836 715600851 721598605 267692653 529851119 893188277 771555109 238021476 788372349 865204337 818150881 267328767 957836945 241306493 530194906 288138531 150874364 259622224 774504620 248373598 480336575 112455773 272610108 696997577 821169934 225149460 509233297 893433051 627354771 952174275 195861337 426786170 396383205 294364155 789855133 805479694 154961074 327788116 382479888 444126012 557770921 646918565 107922679 150310869 222606885 275707539 512965520 640052164 268238796 838424230 276942279 191107579 764906481 746842952 970981982 958006420 326566885 619177813 752843934 543261266 433367090 416986861 260097552 372574420 927030713 254788186 128390929 204099209 538116618 705345540 872793748 574734180 893151528 335181620 289858781 847325585 599284630 835492453 437002596 133941689 724025498 944188223 239724278 497694936 310067648 820387124 907083896 324442552 523267252 871924643 334412614 179465748 778173057 259457011 363462461 934705170 104394566 592585570 797827181 675261812 156912338 510512630 704935756 938080114 738393386 461930731 540483273 804281712 227677315 293094705 790283683 104744565 769154859 775641612 279017807 737888066 995092413 919296330 868379159 803943270 304686602 561485536 537127488 307726201 908715815 826466917 426787818 548444346 556341693 209652977 448142090 254483465 263908426 764592019 262100267 268427370 728153778 931260092 854557704 769506491 153758311 631916805 121567685 629591742 783199998 684583853 405609363 185020469 285099479 482336230 511695964 851680766 840941968 952886043 164707535 772910379 185290358 358107918 787214986 383296866 973975360 555234505 150172094 440526237 263844152 894573496 244472626 796613760 301997441 120342648 950513631 647273554 641304021 484015608 430614376 773209027 190115629 386938366 412981051 396270287 550919495 612618292 932233073 758395503 732628889 113011259 148149889 132495689 808363246 413411770 746264133 651290414 605012373 876521747 939509597 783184444 785844107 718723181 759204142 886245827 498619582 223088766 216847591 435936251 702378624 188242406 476730887 995487359 295918803 965371312 393878804 218411311 782124067 980677508 126006288 187528644 877238596 845513845 913094111 695263638 564295134 605717604 267601820 470089790 715215059 497046983 652587995 927830176 335019245 635024733 980315761 786867367 969249034 408428649 771433554 358669733 129550611 790321593 253067362 125977360 730451668 131496311 633393959 769977884 161624383 539015090 979711214 751288650 441962828 908021796 155170696 441917163 529751463 142398249 654203387 711991255 749571359 400234025 300847725 467898421 750400720 642723719 136672194 263918641 517614538 263244778 300130664 788784343 751191672 298613066 992885272 321858761 845482145 723909421 455378320 186551346 161224423 492979088 617345365 763231235 800219527 746697069 963174047 827720393 401877972 268291763 568629055 103468399 339093245 806588848 352941396 230519979 249130539 432769675 932726994 342942535 140789645 886232699 520778999 276914890 339255906 381535876 209350326 816822512 800281169 813310539 822936141 740531582 589853480 257569608 672595118 333730566 534725972 137503823 647115745 550887537 681377992 581089938 596191255 564450465 798051503 953420280 628304434 766236408 426657918 313666945 333464807 548982458 623515212 130107215 495818052 436898102 200256580 101198934 236303520 605029472 539941934 869615890 488669330 540303358 178704548 902330155 476168382 854756324 944554454 267962787 668807915 302795211 513579105 783632683 932656794 498628528 814850294 541008658 487846242 243495787 674940666 821598692 363014779 161103822 476289784 128037123 828479581 465174669 964017566 741092978 375364953 932255051 187946064 151155590 322710659 381029848 251875872 545759498 192126865 597999921 101287016 856010470 685740859 251918356 286259162 731870472 956376531 720667550 548535709 789441170 452334988 749635644 499319055 671513333 377526538 847961793 694014242 121856341 519974246 609567715 905672065 617589593 739082546 556164250 392707209 853933486 629219915 542993253 220848526 516126869 551715680 789236753 975098897 279425592 827409691 799900982 305914470 918557538 247009526 743758039 992129100 184807939 922181951 881171736 186739526 714920615 548757523 496432992 411557994 122247700 258274063 501127953 761578455 225485814 614336556 164243864 474393955 270655892 973314031 449798710 988877017 356675476 178527123 606424977 291262665 895414535 893548189 416545415 916542369 904536800 701744538 451118914 363277200 413152017 162875538 510178749 993535370 348715530 722953917 601340483 433310439 793139602 302086601 448524583 332291237 824312186 762372614 395295753 709833726 674017841 816491521 529108270 446569928 687263425 176110697 860679868 437680223 442596025 791197336 758375894 701898689 530351116 606828426 602477439 771891934 381851322 687535825 434344855 455114649 796658036 382683117 981741868 519392297 465769704 985938120 289195561 232602781 730751120 235010492 528275855 175450676 244432503 276513383 621997620 395308301 178922088 147754767 878071911 820184389 893061039 443830322 771053871 863569768 200232985 525869593 556724894 226347550 757076815 476851292 300713049 418730502 511163410 765901900 660938253 786113892 154103552 292081498 691148891 267349878 830180561 849064720 102684396 395792945 672999372 528424294 204531458 649061538 407332972 421703234 433305925 449491163 556735164 842416133 481952345 662011673 847595697 867059918 577293450 603775459 455704423 112032514 666150520 614387287 868777029 866847989 695959117 531721917 239805086 614115151 815380866 995073705 745031873 984700700 111988721 988748733 346217503 463508295 113842360 421651604 662365134 248051838 130792927 858994163 571045149 990499753 341729768 574042497 956629674 994740375 769084240 548850977 329691609 162174964 820363766 822113606 422740703 576441620 239718627 583776112 613267701 739782093 256359638 589831328 104070979 662609838 319429680 521007628 205238711 621431455 449880090 872482909 748747789 939888687 465394158 302131708 136203756 501108513 461472517 361422803 709940980 210241193 904800789 774832795 422688274 213382552 486280227 299852273 591057066 105308799 189528282 485737427 344589694 807178464 214957774 732773725 137920644 541163113 854099487 574709571 149885919 841410335 770468490 576707526 564585751 186391747 898110834 821334064 942205610 661137411 419766075 922112656 734961809 154108297 610724276 611474253 195500720 885124116 144587927 786788023 229635634 328389843 905438749 279224258 648665807 700372528 325793920 997640928 589429007 199821460 550808586 725315198 971540253 755196043 871444060 960063931 973038341 282424056 664123401 259762420 106767070 783687307 110728650 632163997 878753385 858227112 849232490 220434701 104834244 263663440 528735002 543581082 228521251 689034365 647861352 955721056 100353983 766077762 693634345 584879910 714950809 310300081 877562321 703948340 363017820 456095347 803323581 438119740 548260896 193160864 629453524 929053580 396463658 863587383 845223917 891917536 561727351 330295847 306952765 770355173 924073790 542476229 828889605 835214646 301662805 154024631 896358820 196572033 577058393 888315298 608014166 649878577 557208769 875787514 681985031 227693792 694472998 272550126 473951210 888617597 831536656 657695568 731200438 825365411 836851356 630836410 148118658 729113352 248618518 125254418 204722679 959957474 960386847 281193060 463677259 810010224 514540478 960686736 260102370 128996256 698333493 426420397 894764448 942842590 275568512 513001076 211862654 781244921 125553404 769355582 407051793 291543636 344267508 632333467 505486591 256410969 330051212 641049395 653736568 657907720 211069119 517037286 339622887 575743537 184843292 620880252 664037361 608364889 408060367 189012929 250919183 164878789 513833499 330038630 250359999 899422713 631719876 602197602 530921685 464677246 753484609 585938676 309576941 234047313 410079468 285711670 234727546 956301400 305204391 977324574 327076869 583885076 568055896 759488067 134949573 245640169 754146737 736747551 643757964 131351805 991678995 174646905 522465848 788184595 540538760 848415995 736462658 876384659 788929854 478191227 796355584 846002859 634841636 474806148 862832278 861301510 684014613 285907331 254997903 285515151 681800036 487985284 768607311 959244688 354233299 935227024 535650864 171185460 479114669 597243473 429452398 638189503 300248704 720541560 309903598 763902833 958492450 189209566 911990897 944891455 721784392 106730223 817619921 856239236 100682906 284014272 770042079 778767341 208385631 404797242 677688766 631368988 878244628 943878819 866127927 965304101 645988691 384468061 799009836 435053424 944131611 146609847 783421987 822252800 244502820 906812931 320646036 323559398 655437339 978553611 198193087 547129849 554976762 912645115 992494566 644718173 162874213 163042930 967257957 369305201 214426527 239291971 991913008 988959433 615523588 527271110 609180553 523494499 362458958 172814495 765321652 545960850 999213417 239539848 660797056 796475803 745015686 190431181 723635223 266373993 609633062 792705831 103306714 660122662 313660426 415237597 202310341 601596336 311746853 904554811 424803398 870625431 585934391 434723219 459752018 667115382 978475401 234888852 846017363 117022757 955808380 832519152 286505187 966771673 423651742 557858431 597098639 289942564 287371135 199150686 882728753 395548645 635794934 308873785 486528576 181448374 586020551 727712311 311956532 535295879 577853455 236373918 322504593 887394081 121761505 963815437 895398782 938694407 373333112 412934288 144507315 234440734 223136378 732935158 718113551 972223759 674363355 199060258 434357502 407300810 313483178 788561664 403336488 267096844 587216329 815904583 667126974 159304419 403374229 311117202 794200725 178015507 370713508 113167585 405014868 562071478 673467844 719428044 571295763 787622753 435118561 212078440 921563464 375006638 116958285 795886263 977415736 562661383 695178378 624388950 221118952 174953448 879042662 533365233 798381577 646711783 776893358 970870238 184581766 507319954 735315929 308754339 815701254 328945713 416508718 888698419 393100201 233138102 733425614 750510851 168561635 306486883 237888646 796863458 765689093 333718551 233806280 657155281 774188909 567505280 215588750 244620493 309468679 617571276 239079012 520757080 896953705 728327184 270784383 392381045 244450048 111733800 616736113 851971901 883458728 935065189 499206211 545911247 168433678 255533996 650340071 359152758 908364772 116032245 967249994 422029242 368361255 845834401 698720883 962072979 984624417 120203360 358135114 103820344 499228872 806939515 956559715 625501318 191996005 887854197 303453096 238127499 151441298 967163782 205736879 700433417 962227286 162650948 767231915 891970926 789886279 765541372 733277912 317886240 290283701 708498082 517086491 468703357 623691552 302173791 369022081 901870405 891459269 790417108 387931251 867881354 403962086 126126906 580164825 952161342 530828341 146033017 183394300 743837450 226189871 273270346 703339674 575827818 324796280 139991778 267560207 154322882 368283351 414321298 134237320 950058532 686073956 983040051 617783155 140032763 743508989 393189083 455232345 228196052 747090485 306644360 320400368 785395516 234325960 622162398 665329549 700413043 270145104 965086488 183064555 703195697 327062172 299619093 770214046 407897624 686500500 238337034 532705351 979561075 574908172 275435659 404881129 421999996 528903998 261900644 700102384 497024325 653567438 746775745 125573985 416632586 882585110 449247101 600269556 649404339 268760393 901226216 204723528 243751812 106450767 341840026 216666728 146336588 248377706 472727877 396085713 565117127 597342920 448636491 604296834 587226013 281755692 466838526 313609595 517160045 452765849 999465708 271456721 197991025 172196972 634736788 749400683 707580107 871997124 139325181 723677968 611773651 965459126 815452444 213238734 304144940 351260585 607129739 519012159 960474179 270833113 320626935 786618455 990206278 531559944 311713160 575879489 772602358 431730651 761429969 180960167 401111118 737519700 219391411 100265343 723124500 772762270 826516970 119170663 555400984 930208966 348466255 524482178 740736991 845500011 144125042 811173524 351972518 434371742 235123550 332921734 857126846 129177560 413885389 543990666 547109550 952202932 920992414 742101273 938385264 735408815 656719495 927702243 594581528 831305059 160092297 669440964 745716894 796439838 253027872 217839207 899948264 403138228 262007065 575507290 436750312 129630743 704540900 766581176 391194147 537976664 651314827 315629278 342725140 366843768 552433893 628264309 233247638 358817749 103073944 212797035 434707784 624235602 550500299 345914783 812470176 764186550 698294646 659122302 788553663 488310324 581239176 331968967 456797897 910147323 341864980 806949908 603653599 114787033 355337537 464558383 568629025 742573521 686034820 441729648 766154457 145885916 217759612 328245444 679577936 132344353 468509780 287411895 466746734 411609468 493890051 345080221 201578377 289870169 927852124 311850425 171074955 939982583 145906128 363313790 974405259 529666355 496456008 117722096 248978553 837244432 525486143 778210652 279979726 475451427 780445440 915341064 228045162 132632649 375652732 162388625 363295116 276937910 967938945 957018745 463843291 831708641 453808377 806960889 900204305 142087929 824009717 984656073 505303852 748194508 889281256 558928521 840261223 935744361 646935028 902439870 715574777 396431735 911483505 180956976 329511429 673600433 628883218 615692564 433752246 380083762 873767865 986887235 240366056 469452197 675062567 489632768 637884830 981269395 770224629 712288313 846404790 601827062 997782067 592104307 363210639 381021256 759092768 700720627 792305410 158059742 442103401 603378217 156404511 702158960 397005860 503222837 525660884 536880029 178993640 215521592 949187004 754273755 320310087 500784867 331165521 556792066 400892855 987660801 900097585 462619769 691947301 282021427 785261831 283184678 491239377 143732611 903940365 820651714 905993752 209947567 590956371 597614440 632436435 597225361 173856553 993048638 862920763 457088486 298453116 236295578 106649052 496814608 404572672 641105837 597897033 538618138 532054519 894505702 987242521 275870873 996919972 693260740 515265485 821134842 425193294 224657448 460978939 176581226 431937426 209770663 221874307 111954278 374339314 489022557 351241929 442354470 164694144 753916940 970886244 420523174 702044462 260133260 356793552 471859698 435105928 774993672 301157526 404244417 679682600 606907275 834869312 439913291 129172927 602879324 357721768 869216230 172006977 497028458 977618024 976707397 236616220 937396063 673365425 963555892 749720889 747226510 392140956 848478942 460948278 942269537 455886869 301192038 459680500 697898686 912879288 762233695 201811496 261619234 322675625 247838129 663768767 681101058 510162213 276683536 760392009 398638951 361452668 174800263 681281672 249766771 313571878 292410600 364758136 126348603 112609891 549972318 666490061 894107799 173226923 497657506 651980239 479416112 374254544 311727975 289124438 735199537 211444751 524483238 162848794 535667739 727020770 907228371 669272083 753470177 605106247 618471456 832068090 966499043 718535802 242512677 823066367 839017699 396426515 836719027 525679478 585339931 130170771 215242829 314626459 532367552 853704959 413500616 462604713 933151747 843400305 427402756 996839069 409067316 235888890 469024159 203983066 105994522 297156385 880588737 837642948 547515204 651656399 829067430 615893428 882248650 508833045 558978472 838944623 489926198 395890989 559904240 243148220 138704726 171184425 561538327 207020436 636459449 245246709 327918820 825130027 389843661 895693553 439267217 100283799 460200641 748902041 621877227 298723545 281262366 507743804 982047338 955113802 119255518 372839572 834523664 386640354 277148182 603206022 528276550 837279428 390878089 148553316 384164766 154693500 227336106 972821461 361346444 302279231 402409779 271368569 474389630 127634396 208817708 477483289 973838890 726779924 890942012 913027605 915272641 841449610 702288439 982719346 365252098 950005087 766728380 284308572 795998172 580265768 966438860 985158070 216498848 955759174 410878478 549838032 660593733 829019638 796532026 757931229 788559457 424276840 212483757 384545423 442262795 525164774 180926378 222005120 292362301 795097085 426106624 732709508 292401965 614959340 258342437 112035890 858401044 849993980 118827932 583050704 906013335 490850307 125399253 191556873 816298163 476423944 607366565 133395677 401207432 441731485 148881779 154650141 954343035 192747406 223266410 598047648 310737730 504313778 872420983 319686131 529901205 297641028 708942620 364062223 834077304 101087153 892428629 217404016 587780169 853431078 368864754 571450281 786867703 827877117 419434129 955233005 274725138 720309101 140085892 770847572 421541075 531430721 531386165 881183301 592381389 808332366 817231603 145793699 515988722 386631315 328509267 972822423 166680817 383996296 229385959 122792336 433636387 782755091 774944636 562798303 419405827 374265527 223447971 668406244 148157404 424062164 742147513 126397437 144202491 140062550 700232544 922880414 529239697 492917009 718091357 777756427 604184692 954457482 793101124 984617603 867289716 357146829 451730318 683736624 946223490 416747874 919194949 894317973 849967846 489891473 752678465 451220448 825201946 894333940 904269157 510985645 849510094 468572529 892726763 271326115 668575806 485495138 185166786 605618821 876791396 746104226 903865788 265884547 464814471 839363802 715889189 375078099 583494379 367431514 194997868 137373489 733172213 300390320 524495913 421210119 953323112 420787292 669063721 379396883 114549571 198946330 340000634 548065459 459685756 145501859 660512572 179505073 739846694 453558564 164791082 880501707 953948385 234980565 543219542 494219491 256124754 500739212 273933917 278344031 631669406 438131302 833839430 672779897 728671771 295640561 241151964 484595707 530292796 857469222 995323995 180285162 293906849 981602475 200653315 177663917 127419842 529482024 889186271 619298811 746616951 488398507 839162759 836201834 629247124 503935157 303370682 648217721 469455605 417104251 918050700 137352887 786083097 324045595 561717790 545497546 986728016 188303919 905538149 783058041 842438529 766099445 544492809 865328475 195604048 930631161 948010774 213417927 657201599 578792124 766023139 126821315 846368733 428201189 315386324 696632174 948986607 970728900 702338405 472780510 873376997 511241104 591875597 909374037 757499480 533337769 177018867 951470395 414518327 358220464 845457234 325684680 850574444 258091929 573941142 797607179 190966607 441316936 936614850 177346258 632445136 354653792 846921107 868637996 890225070 191727761 321034826 806795107 107841671 765591269 779008850 342286850 602387290 436066470 504291453 206833548 639723793 384449848 638837778 530048416 321225337 903939735 709973968 435028360 159126610 174588416 897019696 435295870 917585633 544801889 197948790 227267850 558316983 410410565 910774506 894582018 707673142 217373646 865495152 766401216 669174690 408497629 882381072 635284220 796739046 176858001 755941141 464003323 198285532 957886948 227977418 532086354 113763569 947344941 584752502 627334931 391190511 855361914 549154897 718710487 386205679 371365197 887166127 227333827 206240562 811648904 912797660 773668674 730122233 473763402 267384444 735023596 432894355 525003855 135873909 287799352 178793889 486728026 559702562 444875141 807644749 779498048 295800459 993953788 898317932 912584413 288939886 503061175 543682116 975620620 705349595 854475941 461875143 845199023 838180624 685960109 932286427 882738214 907876661 288420579 500064322 549962874 884873428 180088538 884860558 910282246 893998015 173411105 180405229 787746918 361764932 930806351 312333870 755582917 933713967 848173741 670211926 789608412 678437218 798485893 266701833 300539530 844655055 737075945 492167437 989950580 431728550 395813773 864316084 723022222 641122774 583978806 845408010 871456171 665988171 510746199 612415239 312104875 790738877 100852044 973529845 322241177 870644665 191540940 986672520 287948531 944906739 914531732 907758404 654564805 162187741 851413572 654363444 933332337 680913042 372179251 155380610 562656624 315579070 622045326 981213639 168906016 657229152 738367595 347928554 468325618 164561521 198696881 687913159 810327029 117185408 816490333 529807708 373321405 329414465 382893215 760231482 974136440 151440570 415397687 558574975 691871650 162054979 946927038 806682239 145345718 968315211 465238711 811643879 530192349 655120705 251991077 914024670 246102112 568615210 690272109 538181522 143556676 639758895 281416563 474913563 646367491 214104281 752707292 210839848 276644949 235801498 972125087 304711913 753124325 768265791 693899893 450533728 858804180 272127016 374605099 971556764 961737889 933248256 604483781 958428148 444293262 726883652 437662142 899575442 287526173 675574994 730259699 849957759 458594211 789128677 196601409 512913514 706244793 534819788 763330064 274686567 360348476 816372703 608465352 745791086 372557971 601072825 825416759 435060459 752512368 296462945 866111144 817171268 322218034 496952280 170099311 494095636 255233889 590781606 370682416 960655221 679684647 181716786 764612340 641186319 292407719 209723082 931513399 733954375 353089358 639744399 303829443 207232693 336230890 510578269 158901806 182198699 577513642 362947092 303176835 364712165 927734140 798780624 558646041 287873019 274412589 645349423 688124865 914120970 245762265 699557933 419295979 460461204 477915463 200215904 670870051 942154165 894850497 803230496 251943234 635011523 337344141 552646533 729899559 814690743 711391014 910434231 886487749 532863645 815336693 501591095 221832517 470602162 330063878 652546733 421268771 268088725 328845736 415270704 600474903 234307071 411029568 912491719 824261629 223491410 607032397 218378833 625231806 369098191 106566257 569293430 791512870 970540370 473468087 492410914 954770352 258895816 352722438 182549421 586959815 104416043 592583673 121460909 342956655 418644191 434999031 841817344 284600265 793633700 411218285 837120266 237865875 655984276 613481176 903264551 889740183 612775462 782701540 194279500 200738309 818545037 822862618 363722472 569048476 308942215 187743416 331262572 461782318 819163615 932577606 860135999 719272931 932098744 829883260 295163926 623883207 896316718 332782885 483886243 452871624 417906478 820043199 233922143 857639298 112909867 946485616 568284456 950095826 155073947 874201681 153099054 222967802 704487254 509688066 330596016 209980577 606181990 884087942 369488524 234911430 981465230 903400134 218916300 444972663 659712464 965375293 548266032 452658199 599929013 777444531 269184610 221184870 708127295 532903860 822520283 760503326 407750839 407078255 800426790 167018674 739864065 743177095 373669287 849612528 825658219 711319929 128277103 956029283 470740142 537982453 280143032 517885439 658022640 286781919 206740014 459555899 932855227 541768808 856793780 269093147 453859900 330276901 194443649 354610391 511505258 801973582 180428210 601191438 281491952 103404743 167511323 889714033 452603542 462960272 137517182 847507926 998778664 589603528 905327628 159440031 348875180 484037889 907829769 954801642 404024733 317073488 677605346 439154093 445118436 286895725 702194725 245836127 223436273 711531766 130512332 425229123 564296768 562651559 386187651 717270270 717344557 128567762 127884192 281871799 766405387 825648565 335189774 965175548 672373145 785143207 375749208 771712265 461657505 541321535 847433475 671275382 204648863 844059323 966265793 429631432 960419501 327511817 495205690 153616504 306730105 119837285 364759718 865240732 635841004 406197030 438922968 816114665 694230802 385923107 437234501 322566292 877203164 987693520 168801756 101410843 463524761 745650344 461148327 516978095 859209976 410540717 645656640 908922045 732487431 307867528 696638874 618880515 708045100 151620918 489725713 797747858 245436114 442905108 359276172 322656728 379504027 339518035 339033510 361076148 356666049 682752506 833907966 416924971 428376506 937818921 739332581 174273269 682106436 213500482 664497300 991522640 937638337 309129642 511948266 773133325 173728050 810722678 284330968 167007910 690988746 643232454 692689250 493088728 443356844 722968535 576176711 874451753 687982247 341981223 652316200 253874159 203821448 565553051 198051450 523394355 466496133 941507062 571682573 320319226 781530698 349497529 703713901 578250079 408342476 951334118 286291487 139264326 770033107 739527542 755560355 232509735 905054526 585773044 890382217 827610448 813434510 481484672 391234074 780677301 876720966 356123095 283247485 245479184 664089661 623049210 983845009 775299900 453883085 618632798 858155559 603127591 447679942 456386076 659433063 748204840 980820962 186429741 423766226 805093143 975365069 279778960 895325823 388462155 183626182 472406725 300577725 630046986 882617849 605529161 333930796 585269400 733082073 791755034 754276115 947597166 431065824 873056526 513902819 159963522 866239427 268068897 737018044 904368606 799678527 428604869 115620059 881550264 401813478 253992478 881741422 469466729 242057362 377407665 545849484 266172769 993508677 372216742 163551098 994304169 217183739 963159144 378206924 929828602 130784564 197369447 400815312 538968825 619085515 950323436 584762281 901581198 337781425 821735941 777446067 530051213 325319968 407996230 940669809 429177522 931870096 689542911 650557787 963427089 124934904 555349179 205521361 888846920 207238491 344455404 769401460 797885515 850489406 317349222 848009365 834646229 376694555 772309361 160950372 876405180 608921728 887636042 389203018 491493301 607295974 981273939 523581649 193006431 919445680 176198882 143090750 910100132 651542940 987604046 851134849 647086619 735187880 157907830 907937592 454675023 972137632 695386705 570400149 987142847 677648893 117293946 231301784 848539052 260943648 186644911 791010562 878578340 791678024 809042032 686058118 899302228 257836803 283260713 312053585 319206746 676355987 771198767 660391375 973789099 677867726 210000588 713425270 574503361 382098915 842989832 851867003 642303480 909411492 927415732 159088283 453062770 595728371 925163708 202712936 562449470 432812135 404610921 901396820 807686508 854020956 923775382 771003493 266389250 772496918 370009416 170290625 858068052 205680340 244044017 559332242 156103213 125987287 655950303 108048285 181217164 663769840 718680067 351196125 663653693 356038462 416134178 596172198 204550514 887154634 179112329 376605671 726706255 930267641 200553748 436475804 760932505 541477812 978769722 397898763 417758374 620224909 685432052 906124203 877977398 242640981 827723714 379867533 573776666 211737539 938166195 256941126 782075703 698711381 602102943 272306159 167015290 989480233 589995413 442778243 196068023 526161342 879699237 822414359 318881458 886493465 910708377 341052735 604516705 530849107 424664970 795319888 186198336 563925333 718295761 729363798 710720819 905010546 397812495 220226889 126514071 751953290 890554507 476637269 599481198 825532272 473098157 258028723 833779118 943958959 964398667 453146689 378508765 134755789 280438274 345255133 203313679 808651247 272407453 704210761 281039419 947763059 672627183 725129859 963285066 236559005 544206460 193350774 659354695 699867541 442829220 192923227 239526983 298453010 304781467 194299966 205030921 820157058 878447983 552579717 635310867 964260754 125992541 645291473 874884722 686410627 819963145 805093460 633467698 351835373 273103865 780417356 314400637 643017718 849840875 388120193 221165995 762440148 501439054 475446350 760486224 889094854 468319219 439304595 134983773 728728120 905774185 904618722 747315020 794788973 187032934 113548291 871148295 787886964 426425473 201381829 619933224 359652942 605165833 226824400 993605100 730409581 535323041 262080043 762945688 308134595 288525964 472166807 357803583 360877907 908106931 561978449 946024676 550015116 973448224 902938309 716808663 815882957 507315164 927683882 890901994 717782768 296436740 411639738 171717611 638016260 942688256 754702721 243214332 617418169 556980272 655494869 230613925 157835462 371543966 466903735 173588998 770728560 565506258 368286323 687737650 984096158 156221654 505467487 439587762 811042359 664324314 853125161 774705540 385674485 431734513 462751765 488327837 448285438 315266402 696122899 110065108 156055057 306066029 455533747 729574739 333474774 226848373 618334999 151487987 472004137 466773801 880976432 497353110 267045281 670746151 353294675 353202997 920902448 635796524 308846992 465924950 549125737 631417571 294715070 442967724 682944088 763126774 941912265 826769249 280169535 889439110 460070321 314289566 149610005 503945033 796891339 263562869 537275433 446333836 859400674 598971000 169583152 155937407 646952285 972585625 417128230 939131884 596623724 749017646 783831826 505322115 170623125 763148194 182384990 951614047 574943781 450621887 800317755 281038188 575268464 190416243 282809663 719803318 124456606 398301648 378541472 992563401 830008524 896826858 569851742 275785287 827594160 600188700 793364675 247162539 186557574 988547113 511351185 618182526 988246807 394918684 482968939 109634573 931111816 149615383 316778192 595105436 406445274 893856039 831917431 552842137 649593842 300111806 992410514 679562804 255305046 831616949 954088845 993336314 736197226 330136285 192610704 140054519 750088410 501582424 532585990 604928306 631036292 255431297 234432418 449154737 842418866 195751523 275862040 319369178 793637302 425269939 564726480 556913069 664749282 199637563 809372103 548398634 451856526 102888900 121661894 931072023 249310493 459601090 650536447 772656028 215961927 297080846 287420754 116595574 596664051 267940372 628407681 671072168 213010971 695494187 429835512 343993449 877176273 363029769 144099606 218659815 428030421 132665823 867344492 364126981 671758266 404797927 681518422 571588365 751476325 749216764 945684656 294036139 825473055 707011824 791895742 852588917 686851238 482845572 216184222 389833919 790363502 750281952 752523901 977031592 140742749 824719068 644740115 925349231 564197062 344856162 417235079 486378735 978308414 627761479 365769869 528386462 731327901 265393985 889570392 393999958 768139781 773575564 938850109 891399570 482004608 912616023 771358476 261582313 518314824 752577130 988726260 170287504 717571229 827151564 960412097 692292779 504740928 760568287 958011232 222556730 767590191 587816181 350089714 216786796 791408814 451359666 969136963 407375861 301376586 417518594 511142130 105769125 424964025 982217006 848282853 486900870 409617858 215632802 133295570 984320160 714007963 980950701 419712275 616738841 792924591 396463931 405898490 337458044 630689635 718020140 808071002 681383743 551116417 409161505 996000836 279916158 119010824 809240578 878611107 476709736 329116522 213449468 180784007 546610911 205420677 498061136 965182926 268191091 808198618 441924788 309010950 973271243 769156993 644481594 506951677 985624367 435268207 557984775 942079857 883470526 145346826 561888801 290322342 398791415 769682337 415265967 204981750 154564128 607487437 531535412 267428591 998362720 638710251 744853156 187087005 894265479 702669555 222844514 373514483 543678105 971001672 547003592 764614541 747392030 799782257 740677307 134812248 947724924 245384729 531065916 719687810 715834377 567077600 998177898 711708793 695076665 903725650 135825540 345817193 862686589 420306528 799401052 704482050 716991989 470331876 695234576 455235375 779983341 458253099 672400488 514393881 450082265 586574339 301494843 276732994 936625677 953145161 587283199 329738029 530244222 370304404 661186430 802282989 687719369 429113831 884237413 188165588 981583164 698381261 557861311 833693263 576878901 972174296 587770983 283584447 542739019 361266368 460763314 380165689 330474207 462959724 754631725 642089257 932980053 844285729 237596982 543906541 961200263 704397182 959287207 986072719 922231344 922500075 783054184 392537400 923339689 494524804 260728333 297976949 489827560 502073533 633508736 468216710 335741563 733960547 934193001 237437940 283130412 695008775 849264722 223491385 917894944 945917396 812954551 210917132 103960592 497091691 984147147 306491024 573849600 102704778 852487658 677386242 370915936 645022465 303463349 893970166 981850194 361624203 181184151 797878092 918630745 976688692 888829636 391590533 546677804 359531231 505640610 193164483 163585793 291702706 404554390 978759434 618099106 696413536 462807251 265367888 739820232 790747729 939069236 984465482 451078254 795439627 462383671 168402587 420081485 971306255 277215876 492240262 522042928 504930015 986238034 878368735 255933168 848133851 633979142 954174494 798981052 416186672 851903204 518471783 906514371 401430856 184472693 356031271 688864926 447507001 816066638 439345973 104418034 821469175 550183061 394158206 666781159 408329930 404305332 732085318 113434064 981065668 776782232 872690959 432915778 556511041 787441049 946388025 909625417 944427482 730508834 943667013 714304590 139035327 802566276 851670967 366194726 498860473 251891662 409532824 728172276 299848838 887010700 234328607 613367634 791931662 541532315 683399301 194399777 504252878 854320611 890281758 473586681 496155235 577562064 233839658 933149055 884176608 182576735 248530428 489029812 278832376 993369621 976555469 555442544 440951788 950248463 600070982 823795231 561086356 296142544 775317044 591212426 192851164 162002118 975589804 403564792 591816659 678646699 662142306 180514287 673800776 677152760 377305435 812040129 232535741 213549879 647184853 539380285 897260397 823178648 811081298 364447333 385191597 969106032 894347321 176073315 195567398 284811562 274302733 752799485 440566098 631433067 555520910 417266201 579660729 321751601 569402504 707218434 668084335 311968866 526825103 278775387 970013021 347682635 456142972 438435636 807824424 903683100 473727825 588888120 412367047 334151390 803943336 511409404 685237079 982050405 138020922 995037834 208446482 712275426 222391346 771863702 119279436 817072447 509109575 793964339 490640066 421892536 177492088 124831521 390869866 675444156 455313693 159174332 691631333 447844118 789070076 442994501 878090732 454426137 742807375 139642761 392905050 754123778 583704013 424481549 116515187 606658740 841502133 242153345 359465895 873480966 655117947 207487635 476281388 398151166 853609173 973695961 860569502 214041769 974587906 622494276 998520696 133400854 726956623 798958553 813148427 403251991 134032371 938721506 669843834 809003801 677583865 608536894 571018874 320567140 166147549 288679569 885700266 199809327 355339143 100394063 319258198 895202143 387502315 829396155 828664835 150580128 349615697 805771321 945309394 742298114 805123628 755264200 242159445 584998361 892015816 769770007 687844673 139808257 160250996 725991900 576539282 852263572 386594397 185331679 837897836 126072326 705377023 556043392 765220870 385105369 832868192 861742934 102482350 243311705 419973360 387697225 358403095 202742668 737407371 850829430 735805384 838690689 733755226 825677526 638508404 767292969 502135819 449517356 835197417 681548248 797308205 958815307 915757487 492482933 113297332 785259574 496353369 769342127 560467914 774413892 516305002 508058965 299155338 612388472 700567566 569586704 784058751 666814925 374269068 213905933 254825753 397875241 565788281 982070782 259421972 839326341 176845792 630216013 408867823 546744139 314447620 440197712 699976985 567160178 626436618 867434211 263305317 767276809 612346128 280446292 683929397 900061420 102605835 648311794 903512605 702571594 958944993 168803869 904250283 127330739 773180534 541992996 923488962 753551162 685545073 407555249 763209389 532348059 829567734 357492297 434051175 406642499 926381076 468073941 428328635 759272384 146253977 144743348 529869330 742375399 944677905 206316683 780570661 102025325 182701294 892993703 391094778 229404766 293590379 791419230 908015659 409140597 730736161 683212467 552677723 346731144 377728008 411538485 840163399 763434068 616128330 843519599 353211837 746689342 657801859 523959221 393157787 724218240 435224997 542326635 774193310 477563219 600825206 658133981 701820637 810420334 321342094 295162994 570585733 329227352 343020150 262258558 883734211 680230225 951769151 985197047 650784195 488322171 622540089 251796635 164629086 193270302 133006234 810833775 857457877 941326672 675526322 223723760 150085037 740438360 758843556 296552383 759126890 513515202 857668819 274691141 470845252 128940121 910667673 576912371 538876840 925922041 255364050 223088466 577611406 624384668 677183935 327720531 877246911 101470785 472933079 585073499 249229246 445900746 987376416 649004792 636052201 668488884 217076138 119717877 541429160 892563084 507473991 308290089 600763671 792514399 319328241 655408223 342364435 303643937 827574335 947896951 857616151 527953497 460940949 222213658 657750342 769383913 465055470 118360552 484644750 614315351 506973065 909447267 202792747 602539900 693749128 103008649 184849608 980664884 202048611 147564778 505479925 257180470 563567567 156815380 611373650 118742526 330857688 600909978 766551139 154111106 335903418 699577357 240379647 787099606 720549718 685342930 635503564 736728927 506428284 465527854 481423530 976197511 673945282 531386442 925764599 626881598 248729074 453210801 502819954 296414977 416574460 445088183 171075084 112241336 762141884 756650828 998396210 495560216 385304536 339383946 895345275 388724593 659356455 983037168 718706121 341610235 342236343 965274147 851676249 662526387 465705210 281816764 444996283 583786683 173884060 617356271 878271797 656156959 638545513 342519846 196977024 912897219 979421173 252508674 633124127 182116685 698331068 250990661 515060283 349742876 357608233 610218872 683959393 685049525 254590146 412088867 989732987 157185321 588497408 761984261 595500333 573104490 529397205 977614193 109982794 550373123 978442059 562875510 794838495 284657003 309881783 219141142 904890965 248160281 723696283 354356159 765836197 652484344 857596874 449136974 421393869 849356333 598040512 238788518 275482384 933833100 913601552 428747687 538416680 501056118 935686560 346701862 323034802 619892744 108528603 405537508 589097104 464566356 107765179 193723716 866823746 168309342 508050556 907921811 225983258 394003535 222240160 377288547 904002794 811833585 838825894 368771632 752696837 121058631 465378064 880554647 753914803 345272900 395358828 959042327 311956036 995783221 733545931 197921038 119532841 391092466 429649454 958250515 392032184 330118218 873393996 832620327 591262567 979107612 111768666 185301448 545563683 328001606 694941716 327320896 649291625 595068119 380234183 111752787 126670541 970253869 999009363 123015230 434631007 255886474 113016236 783870904 367203658 625158079 632415504 859599823 264383684 147282806 205420507 783530799 472237227 800560812 141619934 780750006 927314414 682623254 329069855 761825618 979698888 307075012 806589975 885742730 228643952 767273232 315415236 576539929 597141907 645312382 146625737 289850536 924348549 538609797 777611156 792533482 167121492 272830840 445142212 194173542 272900034 288999422 696155530 877779233 302087327 598172478 246916680 877031336 472645468 286199685 724391861 331206782 954304368 531842663 223790630 991713626 839727046 330465803 809758927 277804886 402280439 849615400 923607754 504511025 109688951 625590709 209716386 618287002 425160342 172026342 871534790 622201821 160910519 226366907 451035772 460753596 226218005 136172654 144028393 724587141 115947473 385818936 412488308 838465905 427881360 272766433 128364633 224185471 368620969 371306756 528843087 605730644 517596067 747561422 891869096 733898871 402775210 792674936 490448075 728353958 663310499 776745889 111425687 461010030 284967720 414103533 165722629 291209761 189776502 320212036 604778447 129854907 513768917 356558338 754116998 988282821 778019213 323612519 253308192 607006570 107729810 361715294 191153135 462721319 956384611 949169130 411455727 304283803 865470426 440735305 907243909 840826388 710361159 870772683 594984355 630210405 643372137 778990646 312680974 814094086 806128184 777977823 480572471 403544166 994186674 697178972 960842929 940679061 881492923 440415943 750448084 650133334 569261481 922405722 285320849 147837093 552295128 168788545 323696244 294585474 107680067 381737155 335893019 364275405 397557697 382688078 464757176 782655755 538511914 645538221 498065585 109135372 172287907 914940611 499655984 694265313 734363420 618204668 940327448 995307750 995283904 246893016 874073723 123712416 175597715 458381235 471691168 976881536 286840285 532112962 785325228 797655741 300699470 223897695 452188282 211246502 132423767 971193374 896641570 602550188 373957159 570765168 550957077 381474902 870752320 212937665 997797160 184803680 283247053 968657815 388311337 219333533 547191836 861339580 277685656 495085420 358778815 339192885 664636787 729229886 424668476 614033040 718682830 167817762 206260737 291877321 539568654 849414396 932025233 855673078 688161194 810790395 717625391 144351938 824439650 206705587 412472453 905324414 105828447 693650751 838401866 188559998 242866308 957711745 232779287 409453851 960020983 909006801 658284043 892170854 392660733 454719614 140347959 211522839 925734722 728268386 469201008 132895528 889880331 345723470 413092941 258877353 601948563 335257790 591088638 582333428 361153371 413814272 529723670 569699278 653264436 345288950 691493824 144530669 937596330 370308020 755108090 596977944 240845296 471566974 264707670 685338437 691225264 227090807 447780545 770602774 958751914 384114516 165537136 119069582 745521815 319920315 530291933 826970973 196183279 133912957 273826276 318289246 439738361 287581531 551275360 612017527 581356414 655799022 478755649 118719299 444997971 554620570 292690263 941825822 284945906 720372238 213232905 306370920 439547634 124887451 459182827 560051369 245221847 173966810 792478935 316677461 229298257 623097403 409360409 564528023 552250292 713934975 910007941 831162507 645868677 957659744 741380994 133703667 939399335 424101374 164178221 313005238 511908580 910441025 503169709 720458203 210021391 330500069 844783747 407902919 715445519 130264263 885406696 924357484 824025491 398899902 917983746 973847283 953615755 809876552 179619986 917351058 434648149 149433752 398751303 170199155 625585941 113039160 415658376 646410442 861731695 395054934 816242278 237203640 203969697 781504974 355595286 449988206 913052508 311843439 440963136 284109571 846127839 749800241 886434537 803075851 226533947 368564497 189420628 510677322 820067380 104985840 521010243 401230527 919373489 282736715 737757962 624230996 979640036 502393957 737440349 518551496 655080140 963141599 766295670 209335677 875201125 317874629 466676429 258140409 329721382 420126254 176663924 110254933 935875785 251710423 598387812 681501103 617092029 475514030 776889657 648012834 936037875 812950219 417555531 792174331 689507142 314559909 970133575 832243119 569527499 855859200 624692695 412192059 479865827 776275651 944673995 297714359 326459398 647059379 303586213 347603340 939072202 279383783 939936332 483218486 279227006 314478024 887951907 415504916 493043139 863448448 281913544 679812910 586371619 906800104 428459992 600112218 422888064 856447504 883832433 993367491 164536993 322606705 132092438 462532379 382915463 347552777 570000337 917384598 934201806 633267098 265960240 344233682 242711837 505421195 401975229 828846429 707684398 210285779 438252685 921645978 750825284 771649390 328052168 822784381 727845635 447101181 764360242 257545951 892005916 405118530 955068906 304991613 791602183 820916910 323819851 463546101 671734107 785847044 239562627 582623847 923416246 817879561 915442642 796709787 310181089 936458050 860671243 299462001 797418688 757101394 952926817 562948019 303848596 750519199 980009012 523251396 768247950 873318021 868934688 892527482 360537849 985190372 281366961 926632008 536980756 565661870 348226366 248388920 664315187 633549182 172592773 127819476 816865475 958223519 242559402 865823276 551920057 988307611 325723594 862665329 604808747 138540416 999358980 844391897 312913497 449453748 261786916 953707720 285287913 855040986 495981937 285111995 389099523 133142028 642070582 702872685 231408332 307962316 507971557 733051781 309533405 440179754 151320508 299128012 188989202 138576090 433871008 129891494 399518936 509835479 662163775 344487528 848154899 816416248 351489333 276561933 289339492 697080429 858795039 652637085 562558881 420956491 200646647 889560118 798032830 902530452 126809469 147818359 751328590 170358395 307149817 940207172 817926991 113646173 477449288 157876701 466023809 336377575 555146455 567913337 197334323 911872298 724692406 418639444 638114466 726542535 966046116 520461516 441684013 236803042 764998300 266808753 759700831 559674761 575033698 955911402 156856225 292145122 207554781 791716567 993255517 826800440 380716790 420453300 205774242 476856381 553167031 686217816 535613636 565910271 505695964 913030597 266816168 591927746 122536301 582616517 181169935 854152861 759756349 283257048 221133742 827619517 618773399 296856819 312685201 742087998 767352108 882033377 224643430 308485537 145751441 278508149 248637440 145983776 380774644 412492419 571995889 614292560 915490338 241306193 728002428 348718273 572451804 234481230 236107549 941071059 891015145 642641055 796168931 562975880 130246075 695667477 552676430 452125565 586112953 632264865 820976987 113335273 638485765 679386353 550642241 443239304 825314760 727996390 639814345 461623477 460255230 960168014 818171153 743373540 736679825 665537357 112824685 346395150 775061311 406984569 859803484 516738530 850540118 478975445 563812992 222184646 698748340 268549652 197591197 993271933 441049651 875611866 199071881 493405845 871421321 216908413 526719499 884983645 140734981 972556107 220117499 270045899 878233132 222665437 469254589 918012323 412464244 999737154 701253671 714802546 705972653 218683838 878020724 128236020 918891139 967994744 955263819 914991520 778199155 471490407 853975212 461395820 594226834 987272874 502717489 418749532 367354367 886807649 573984848 437274564 559067600 793690349 802416381 303217950 590919717 501542467 409892838 887912218 444980009 543699531 207114909 123239630 132888499 945913485 318303921 833230107 588068128 417331072 304517398 968673976 854028459 978123939 675419509 402000102 474048885 918527776 456112646 904098256 115958721 905430960 414640296 999802700 429093949 795969297 163901614 541786153 284894252 330072862 292321523 885923176 535301786 654305481 821492961 854404977 352846843 172409673 480684695 329009523 917163656 248410769 341217231 204633734 935955396 122215374 281673142 610341662 841733068 184180035 872647029 103857852 812449161 483263282 422172461 728745006 478889890 974608947 234719624 197821933 975508348 655331943 501775195 323293121 133808083 749875292 779326529 160795819 882608399 840017133 413975356 719982626 563094096 543942395 465029315 619575395 933297670 714361292 180350866 471407704 857711198 615868352 865799794 137498097 306517320 411523986 862933819 230641054 392412461 983551570 380623896 439926947 538914510 534429599 642252542 834861256 734990038 405532978 121948962 113893950 643382571 293135259 499724910 999599646 880084378 318110273 543154347 987516661 187461717 524761350 681526929 143858944 734288122 820690334 216098782 228435996 545760523 993384324 613860500 836739772 746703490 735241498 500948799 238272234 266656109 920148665 335675393 577762705 380621266 360689885 576126460 753154589 223296796 672441146 516069685 977139589 458885162 629936605 158713433 871988949 756114921 511186787 212032360 927547157 156300118 855847558 797843520 620562950 785082248 731290073 582620659 442619011 645737405 681902358 293408213 347917352 710139034 822675208 922025825 838216888 680456428 314758516 697193980 521296708 845499857 563542670 425896312 770523635 623979403 406179779 740457407 691992937 453839840 646320201 557589991 496305541 194614775 194203309 146413816 220958195 902956563 531912369 476584575 550335191 701439321 308700749 781539373 394183256 589478387 832045254 369673647 320615639 217778758 725396443 300798209 405127847 579002081 872571538 388087076 860543776 953771760 510128339 717387795 287280773 301426863 434079231 194587556 828613301 959363325 771862732 238173865 364088034 419790937 779852121 680710498 423589882 643948700 384378337 248479508 783413167 126702165 226793474 297268364 786786023 842180573 907251993 748295994 322364081 699467761 181348983 325103171 654305683 851429048 802105940 574355913 546328143 159494882 836606942 846108276 180719736 644085667 528916434 944960912 365787252 283168710 146420997 653579651 414332425 908019548 627727463 211704926 479482593 682516018 286683892 800367338 521117464 164973325 555443764 314551997 464455685 916356039 336973871 926442824 782473531 939933549 279172131 323782817 384059581 318593992 969638950 436589311 181254129 978136980 163533242 866317285 249098030 842397417 517702060 266222966 975287171 697540802 674469054 666523666 260303472 708911521 218412918 704250243 130665966 229182251 167191663 709391815 501160253 670466808 649250913 238733067 404499063 555332484 166649287 515515119 436071481 685054616 688783234 181978247 554327536 425089472 448365988 158366631 887737059 488007982 993991568 167510946 203655070 681652547 573575084 576262102 908229760 479318841 506744995 979378744 639274934 390584530 492738154 463951075 440844180 460732199 576349129 512204051 783834225 550376841 601637874 222916833 815024008 712177600 108947748 504856103 940930224 406145296 361758913 100171844 143202424 844953991 492247174 515193171 621820642 860790926 175103045 223544830 134463953 167581111 909193659 233746381 933522150 817173952 629160726 235129069 565700914 172784459 229640461 357453213 640832283 154021787 410548316 246866762 229678255 758264769 571215632 672642713 282874860 712433872 255683096 421885063 645470535 904700486 861076751 377342843 163316091 459351038 558616023 553984336 966708172 737396534 872232994 313966364 739741625 870925313 935992127 354331212 464888049 597583382 323680379 323318402 711659782 229322228 794993944 852626321 176589178 870791132 663852204 686353635 397275561 489266197 258648972 791585836 417283073 431620001 564158816 677391358 210888917 685873423 572269467 989055939 911177323 384861234 130706627 668151434 961806518 609636758 839447648 414070022 335242852 776284868 964745806 819516152 720602263 453512946 582158476 794416643 229672728 403447534 189152750 336658178 710890221 864356019 748325064 876381888 511029439 755169096 901466622 458343038 628209303 867592637 466613374 898880645 207676244 547692797 327071045 411800123 274451663 434568295 112466991 546554437 332271997 294807876 677231572 746465908 938150492 483591889 492836317 718537353 490389933 307246936 825536908 148444996 918675707 282850127 425357308 261444388 228826724 772354746 482595736 996787725 562259873 617235839 579799170 905007246 525738767 121783858 235241896 136320405 201767057 335300315 379667793 128941731 616233526 195752220 479368414 252807867 434001071 128712579 786041097 432134982 407582343 704129412 199079762 207410093 792617249 386702338 674719826 471950118 271745761 390786342 686348439 946158950 297928431 177986191 398923115 273730272 439109458 187524610 998488243 276916805 757815617 788946378 651267386 267685772 214295069 535835198 897176320 605560931 632764983 488603010 296400827 678403672 881536011 662244073 660676926 434092442 329392494 328370391 614021296 211521334 656060950 875233909 169739160 116720125 913900784 922855377 937445956 467342445 542362920 221251629 374512763 635862766 818469935 969710714 552850464 531706998 645758743 760103250 422806211 435197442 509607561 493007281 442711755 119348661 445035162 373007384 172324358 872855340 542900207 777731162 362166623 996511546 522940868 519773286 519414816 714893079 621706459 403953469 397738898 587851773 818451460 863456070 760625568 306096964 183031226 190740365 514345868 339118354 650093466 123790226 250525485 540303865 378154124 736274344 797907452 367926172 698448157 791084066 738163343 885326630 916607633 487307204 728750716 425090528 985620583 282377570 745589549 210424302 845672008 662276279 907415860 479763651 627029505 636090924 606250458 229896186 571633895 845879792 959837355 954241099 901268722 653709115 919989001 766404587 562069480 234175958 265038731 963817961 167895805 828921219 314820783 138177501 453816680 739138861 600195954 391049858 361700275 488783078 422573928 352927627 706534865 923095324 192671092 951289445 223154079 600264904 807453599 244082375 972115754 815845152 546939529 995386790 241268474 362699915 622377766 274944745 413985536 382555916 603428266 516839184 969430516 817685790 352070708 532240564 391650973 572780992 312845290 393499002 926076489 886485383 654791626 760661212 260309259 795330347 572448406 390746805 385521487 334391104 262089136 179029238 296335194 278956934 296565509 848074278 170741283 650656292 209920869 766305338 651026112 320383262 423301431 510631008 509843967 830415558 920273543 911998869 997818971 598426025 205350655 768146660 250928493 873419425 933232469 414284355 713720345 671944579 234056987 252467242 589845979 300843231 189563469 796181559 928620800 735166888 595028419 947997559 716640117 345661519 842744727 794906155 991210366 627083795 154580281 554177668 225610648 832541773 275098089 656343674 310213449 826901531 761220398 324914912 709148169 626764575 339452593 240951176 655238251 980470061 599422560 632109042 185145333 303147700 860745263 219913083 471995663 582287919 856427615 898549237 281785072 867785323 668924989 465854789 280015252 444982219 442994293 905657346 130237101 279427719 598058075 358970285 854531697 795513719 714611274 984225845 835183433 501356428 982246063 374318364 105436412 209769003 775567090 154942518 131441668 310377356 971986450 897554351 248156648 660977580 479383744 896804558 565207960 391553219 459369016 471006128 169041470 474255965 840252357 656156332 260992680 808777036 636519481 755567337 733198508 800422700 994078439 489479574 734703400 559694426 655901752 553010751 942266672 909029475 851782438 677429547 309796081 231819373 186721682 442141722 679376561 751825043 185364494 524678783 734223540 141940459 585113271 654966215 188696024 962426571 451683167 531011382 145940737 969571086 653476785 956163733 580116692 853507951 329569991 752580578 336102621 643610719 585039020 321339626 590853550 772264231 441668658 894159752 509610320 295625703 122586609 681177232 912543882 217679554 202960875 950850739 255188924 537436765 131249231 582173724 739301274 409029514 367494613 610753696 662358820 424892101 785412928 908372621 660858048 653802697 244924670 488170566 523849885 874009475 299487250 616500333 146114332 999699761 571722137 634047928 992541314 514141798 589187172 352082391 895206508 833688183 428721488 716161244 358640750 526750834 660325209 476537719 164126895 819050914 865469189 601806127 218895412 450314899 559124793 682066270 851097521 431638932 438976613 125782580 619839314 171759762 357089330 715410683 280029142 143493350 749739994 201296627 647228910 169967443 935305614 370362642 553868217 518356298 221466795 218060857 935928685 776820059 303386921 628054558 276930449 758373342 605370396 486897174 542230165 459139049 295703275 635275063 856486109 229797810 660577248 594473016 634115478 151299083 401105377 316526445 510281640 249440181 883299696 885211818 482680427 757225008 261057344 607585346 567377382 317465214 667008404 621997572 154374907 473083510 489630242 459986889 477251863 366501955 560354522 626403347 645335065 191540898 164588564 766387940 571779917 976271540 445885573 259036197 118029092 336044656 166715536 921881294 791327908 623924298 960883900 241454563 802026158 815292340 481397632 393293304 361424625 535160100 750753107 936148541 902333349 748202215 856469545 140862659 337243439 152344046 982660683 692462467 100516439 937428060 962314624 667608283 609199093 708053120 698871643 777848839 216818866 629111599 311735639 296493264 317539873 419817014 363426004 358463664 333411071 970896740 225081696 629037431 270763050 806599647 449963395 672408628 499665864 418763661 759785847 234654623 141024809 950328190 372252407 651665095 422846310 649651910 994903986 359301717 252928429 433483417 846360010 879041514 564652884 819861349 541671443 738338434 621961926 396915276 320620847 892964072 172827834 193880049 229570217 389464547 594547297 909639381 354033564 107226570 605294317 682603268 713465176 508472882 775343100 589817688 284770210 763589478 734242047 317638056 899628416 436141096 175831499 957942267 505812760 596211431 971336350 535215246 769527472 269577649 781078365 427898847 555421019 109225129 492499997 265658728 662121108 442208488 882891589 326689677 240826372 835981423 830708611 908213659 540357278 615318321 243791770 676842158 191587655 251848160 179471660 354986401 608375946 584355327 723044438 377217520 919416396 343867673 266953820 598907727 583877449 281294605 483678529 377419599 297708218 718498631 358102575 760601380 617350051 676519127 333018838 524578801 512872996 703550409 935873964 587874817 696266959 170376345 672918306 106527164 566530022 189004708 512741969 652244542 206264513 782929377 491837104 747764294 303213940 833739370 655626184 620406549 142422197 163881175 289504145 939080679 412488875 865949123 619392082 485395638 560830792 533945132 893195017 259848572 151201172 871128472 984302663 132921796 165902403 560513251 478770995 547103996 350137356 990128842 514430131 320217026 428336594 645667238 580327301 371909958 349892494 214919912 401240289 517734466 709414921 550295587 430311567 203634657 131794981 597533701 273447730 801136260 649164192 277673546 406173489 944245508 662426299 320806853 284228282 999710484 480309279 567488348 235876302 244651563 892191829 824877548 305213035 726537566 278260574 783233338 266992530 552665862 992187750 300312607 250183940 642820971 338327973 291293242 836322008 626607841 375191981 712529077 342581014 513467986 406052967 530622948 608124106 590305592 516278889 676649375 794830250 288338623 426714622 363078451 196014093 174909073 712150627 167235734 768657266 182371308 579658950 821953313 833394955 659904548 453343604 597812542 408212671 560132660 688421065 196029869 998125184 807766392 952110094 311383601 153877597 389192037 299830872 923028171 423552317 186606064 934159899 118610198 510146909 648131345 816360089 432317430 870014934 201897827 257120847 111804333 107888357 859205615 385470508 377500229 444419380 967318840 934577148 961189545 587145727 919320208 489932220 524391318 812157317 867603503 973489342 824560690 163925806 306973027 708646310 178626983 312376651 227803169 567378745 115576885 662069248 349197795 187411775 967041306 252016926 497536789 269702777 115476382 330673604 722847563 970088583 415957880 658654606 121353572 629483601 558499860 990695187 292761330 516454678 647278652 985244127 305848959 658417347 138780113 416326313 978152446 967346362 721911089 948923982 332900131 566304034 617255967 157435055 133283103 770038952 913188284 536841366 327805608 688980971 188489520 993271389 150242155 878159182 149916031 942757309 830492612 951036732 524072183 192560756 396256659 782701780 849829089 773843568 432312526 359669934 371882035 337327450 386564427 960201625 179061525 569356403 920274503 254394593 596455688 714771708 361264536 428482482 595742655 926074964 499147753 813684225 150097140 765311084 608359941 462085679 756993854 497657744 821747494 614971814 333952886 352427710 663802518 795927312 141723407 523468385 691644460 711436314 870451437 956903372 165257410 419741349 768145313 229011134 998781757 301557181 496403440 459028317 181479268 381942248 268689861 527216030 861211557 321029299 316866362 457441198 760600399 760296963 477038238 996984116 550900997 504392696 900908243 943762031 225647438 261477620 320449992 736645202 229003584 195193417 668381472 402864844 658718942 942740462 770159379 823461301 550946686 114478206 442482850 914603531 636886817 879219509 756305703 596986510 129292371 248908661 711430787 403208764 533335953 468878016 801177211 542738291 816356429 195417272 444011222 177119247 331113836 727976686 128907461 871249678 383097023 407212517 520175751 648248644 534100054 419600353 904954806 113281892 708941437 566965252 733643027 461717367 621751996 578893758 526750415 378838474 593630839 865410687 459373993 466980906 526422848 585712175 443128468 870769401 898474387 692691372 695333147 170202103 904944298 623900216 470619828 688262706 237853222 438329128 430795334 913969236 167123717 617484623 180947357 472651778 380416262 366218316 149928677 205755370 643163574 387910398 150734207 936550139 783319279 790642342 963856392 639342972 115145674 474701320 147934737 351017702 762907734 489536956 919885006 332387620 861637230 225269235 497185973 663723799 563555197 722144514 442840918 236787902 736210244 975950808 569040883 808638065 555876368 277412392 811315412 382864468 114426092 960785368 971702642 500694709 877977644 948019904 168749662 172184491 718465727 173576098 916775372 248796864 938720129 942247771 304079635 448779820 367552093 196431166 811051708 962853385 475502490 124412120 443990800 670385028 640582839 597397027 641169356 475394872 331758149 695727654 334840710 864974982 792939504 219541880 514856687 485137422 479347636 807702375 377078090 798911450 487347301 361147981 495598310 793639025 334540935 326307913 689668097 730610905 282409440 273677267 981298764 682175014 800657366 123059350 336607762 413372333 938584315 708667309 385307670 322441386 288435504 105057930 633772964 719653207 903160497 173494775 750726008 937810863 831931021 374834678 123492183 561745022 114891737 434097505 615002366 928987127 423994658 804551703 655545129 784922077 649314214 963007530 674711750 231801712 638307615 592191880 667785046 794540801 465333757 255705215 264870752 743363363 539185856 167893534 842168499 149249325 697267997 227919287 800358859 377692242 994933139 463903556 703501658 157923118 670406991 290150179 313371917 696110673 457648861 656217851 346724871 151069156 923435850 963660384 570364588 889624459 554630811 528136057 288062096 609358936 939743913 417110279 515971203 717955407 239218436 587859885 345439432 328241465 153687185 533682244 301173571 714656234 651688107 914898823 898277000 920879009 932427028 944023333 501196502 108235369 447617884 819120070 137118552 891260471 217840256 516276739 103130567 377740100 651044847 935444063 602327605 144756125 978248216 417021099 199408020 390293001 945154620 803529979 270407968 299744255 660263515 694807769 228072299 992588019 771132653 396385617 273336793 615666894 518474914 592749376 771385573 579027027 992330695 726111628 208111069 917445937 638405197 405473138 834831133 987923483 302586671 755690824 675929967 823408126 169244245 516163261 925465466 616733223 910437983 907525371 544967437 417536196 341879911 262200301 393795225 954979398 158695542 191020516 332342973 453091299 745623448 371158089 986096617 869978272 523527952 231708947 665218569 339969275 188564866 744060475 470626173 648438837 901925010 594467081 988235361 947071868 294231135 153071954 236923765 492833951 818448535 245333918 364076115 325890700 509881731 763718820 265351009 693900270 955378058 972257679 944881349 880449330 917618890 959839234 654475967 107302497 284532935 787337924 360479504 580085196 616568881 811671837 145288370 925451430 420901788 753729112 784481469 842450334 295219477 888221496 444272793 767605534 765569166 902689983 400194244 358165814 253262446 258840747 891912217 539555728 362277321 898405854 223142199 619720552 394780776 991023987 464055072 374587527 932258996 397427543 152128405 552360669 966069625 887828415 810500302 754161104 826626798 978950064 161909492 764615092 294388828 624668216 116509998 819277177 353589316 694676157 263518910 922493691 710973951 151160872 470846618 765542550 467584836 741285630 346569450 571506011 703534682 820869699 697273079 110761288 351158334 765563024 577762917 221760262 756232508 932829862 571151097 269307107 688485048 511573077 194076650 704089404 769185353 785929048 348928027 988953211 819967166 735627660 849928214 716992965 547188392 212132770 919427103 718640534 826918501 958953049 938191873 470217594 208689716 879909476 312097119 258554160 495563191 417628652 481443630 401971257 189683968 228884771 817578523 635099080 829388332 740092268 375900795 427877406 589831969 464165642 641092710 352073006 746633476 694584493 595457208 118966411 347668956 251305205 696671660 348506300 761227960 369301831 586894568 613629490 462506722 573676457 349582542 543060050 713251145 864261616 925642889 229865311 193185782 443247883 712264789 427351019 972739473 782729528 552656219 330361694 525071133 452319682 520816210 779608472 298739803 578714566 952958419 640447048 249665265 435757076 536271525 615432425 955777554 350328223 338920358 937848984 499007959 399781163 313390135 224882044 565377272 591044072 749743434 796020671 248368918 958459420 674783396 192029126 214640454 546624703 747165629 350648861 970335809 779853898 704381858 771917321 113259451 863153422 169740478 209985396 599923849 327859366 208764892 973444825 516165983 755242074 878255584 512365186 619199491 414033054 348253172 300725683 698886637 763973162 181161487 413801725 766533755 669608189 219270928 807981174 353757690 316747664 236468016 958768100 900787473 163915149 768089868 319214333 538184577 642329751 269710249 940638691 907845724 732151838 678902367 585849109 832806534 137823158 778972888 894063272 921336059 289780394 782264822 615933543 315570983 155330934 582300077 150607460 288361950 949073645 466915126 266917230 384109872 392956797 837923237 414104137 201066479 877649381 207755940 743112361 203274496 651641057 456623886 394282330 194157683 968782828 390229707 235869191 764487966 530025117 727502700 764912564 428029151 292195862 615859501 795624156 595733521 266153848 156567348 177546401 868055843 845690350 774087492 410050273 592359316 404146672 396771018 999267900 217127510 817189060 520771291 729175529 777859099 724914945 184162697 479069104 354584190 226621205 688426871 120061961 797373136 337484917 534642297 173637155 736293320 344550496 363274566 346811782 217644770 931999291 324423084 350008582 825755097 435971303 887470718 918591221 578141031 299563270 875267402 560676806 448006458 470793855 357015733 314679834 433046268 634036921 839779607 854074372 876321560 719220367 583382241 407426247 998812528 710470065 995433930 614015073 307047601 548242567 850870844 767036811 895479749 269098723 584828864 391743728 938610164 820517886 758295727 957001646 250905171 624169881 970135231 968414699 179104429 606794639 296234392 669914043 717377932 201367215 264098517 679460059 269135913 896465961 669777158 768872172 295647986 856110217 643436396 254205284 469041726 743689412 349255138 615086712 106561032 736210231 472266817 923903575 681232159 908992245 852424629 700242295 853798922 170426884 908312688 287834113 683194328 334946939 999776526 107273681 678326923 120717644 570339148 230359534 581111133 835042607 781849239 479346304 387692519 343847115 169515785 290609546 669575774 436115256 772803329 235927134 586656603 264947307 392676841 942562817 703946386 656439515 833243813 236414728 319798379 171510304 280228143 930077028 190557833 391997258 382590119 278108955 788729015 682311023 104803785 299469032 742090425 714780606 474818309 545721627 596286666 690501806 555914153 229904195 290492651 593672856 307099557 600777708 902589339 168549803 189338211 349662789 684133349 800211307 436867345 391632162 343639338 120140814 957303547 441152943 426423497 849256116 620293071 980993014 820607710 147915266 667127843 212035593 793419331 525844803 850556539 703540576 790498745 139358471 803625777 257273880 601552771 105805253 239481309 645661364 810681880 303988351 344680907 254592891 592416021 384221652 349171631 511704541 913135031 624572478 378310880 322989612 451633714 295033025 122370350 877597633 714245635 702967201 981181438 413699765 459305351 514436151 771211473 628981154 494970664 436368793 217618652 728858170 574525168 744137610 399298534 757500758 258459313 997734800 935375563 664800539 988990455 487805937 778720618 468081107 527227011 641793649 292864813 463975346 310973953 715045137 369890323 373797090 911298766 994476851 926587917 971587972 198969985 871329637 947646359 864693159 103397718 809962012 920215685 642739807 233053998 574718860 122108298 308936921 719831850 240063743 821701704 432739023 614627190 734429823 498122600 901551997 908374623 730384365 834959230 422403103 391592880 507426150 287876184 953019660 579299680 299075096 578980298 720269534 756774455 182680613 989117860 367818986 799094851 977894440 559622995 188751960 276465675 176274186 965972919 851260270 137086608 674069469 551484880 202662987 769526064 381766406 675868032 364522835 679042160 903498680 105618480 175663725 179917111 611982152 282296050 334466130 649455088 526415239 860170729 670958222 880622680 784813669 830121321 452829336 395640838 443360203 145398174 875651999 777307423 468747361 163588343 427197057 771240481 131753681 192481087 496358058 624520503 818859831 783183607 320247677 147400266 229017282 275527096 280006386 999967928 659703246 393029795 261094863 771694737 146886930 976029236 462152590 464676608 264252975 996646513 917511829 510149324 927353698 881737868 554562641 740355948 493946576 782019940 459633393 448238903 484260677 705291924 747870048 778177488 402599885 325897498 831223711 262479708 938338526 438964689 963546308 182143316 361308835 382011947 278043207 443229250 633799505 392642464 463455420 664727337 752844885 403652362 965226980 138415733 565606056 806077372 850452210 240167751 844436184 494235469 936384159 248467317 455556045 464580530 176514146 600198947 408865005 263260216 973871722 340960160 400541768 570315563 832145309 326071489 721879689 211810967 600409662 917855765 865106640 898252900 616021714 508713339 329268181 276754555 592536505 781691370 688619668 131340577 250274754 670371782 520598376 330255358 545513443 650671753 956361159 964838022 983997482 630784234 282892442 247220241 959504728 774651920 832380965 206719966 836807087 226753568 999134917 909711667 906047185 488772496 870272997 568903294 781422604 584927189 866584106 666278296 732792691 413244811 894167338 536768013 416220835 146717021 335087612 510325368 365485568 643879322 462530851 765659904 746733418 483697805 923372033 486988153 255243721 829743469 179758911 281276890 691247202 558274170 894103047 875387668 911454545 158725770 325763618 582326998 517771200 571184723 963915428 582564131 313121555 483902103 423496645 879997958 403327664 194725448 565585825 770553917 328026759 696931225 777704263 285168896 305653213 625850255 165013465 866557411 492166363 940387617 838235143 719313550 297402672 677535067 517885026 220923348 869629778 581737202 526347877 597964278 380438118 560638411 958695448 905813729 543378654 399399808 847724685 633260935 297167191 308171481 932191948 323903316 260980931 271605810 789550834 687454380 275619301 373431924 535475664 352706125 842031410 725325378 772483652 845975744 743974190 916828633 618756819 597514070 871573969 967753445 822851390 143688251 549806456 998634254 514255250 372449021 732798512 654220094 698299148 626006473 103538197 377445500 837357180 502926074 524805266 101014442 938279581 455514982 277776807 350537382 168202363 950124487 149487891 915598016 919324985 558060034 145553937 870572016 696227638 314531563 279723071 266635893 987601536 957837729 111030767 737618337 454481736 762548958 199530157 753556552 225951324 539311399 855509230 113907398 227350670 968428194 955453428 851948575 648070949 670910798 905251836 275583010 540700549 870634768 880083182 703368020 970752435 229325901 110899500 293262695 593639813 909240341 107419498 323586417 268480056 565528332 177108729 376371411 298700098 748602006 479499327 890542303 346981551 640719382 810521084 212375995 229916589 311494912 382641661 312614808 663765817 534378039 865917817 163424001 906403815 628652478 157953776 932778166 980095488 653234746 327428119 432332756 533560413 866311976 796158419 334420706 291221551 169433029 641575210 395887680 220392337 861986338 157277400 137193841 522791937 752283118 266669438 498367941 781613909 212553145 242086868 432473440 409838577 567989775 302350516 855110097 893415358 763111137 962957897 772456147 925641423 312207358 573681905 131586047 287872603 721567916 899266329 332814271 984749723 512197688 915846339 882685530 950259465 752613478 104036777 592169121 592553583 677294682 242431016 507586617 811216757 382932666 429827389 760372675 168971830 996611978 417218062 880843975 466218187 697245576 809553151 898963236 150924639 246352182 283619211 978701691 228714277 289280989 391721287 215307482 152453894 899795545 702116471 765888873 470241036 519730638 835484725 433029125 559772868 769852243 880126283 161079099 547649591 968119860 409877263 233988022 302247691 514009572 710612279 546398845 728248277 184577191 845830494 808834351 689189664 896733525 355671151 590918089 687678276 611661491 591438135 740994672 703383695 154603573 869062567 218827651 485555380 968809847 429338518 824361014 287352028 879443055 765181044 335108531 124344110 985012421 985125036 248978486 495525382 401909134 324466474 522764901 194119075 941156018 580440791 505579532 761041119 120219917 790245407 759781918 154423082 917180660 902837788 840228486 894432387 789532938 503407760 934479494 460183361 401739209 819313969 669313469 772089168 981728399 705151839 874195075 706955869 820966136 384829752 918579113 388218058 657323164 564339764 380238973 213528055 525671871 814202711 336061821 430305543 566501388 292547481 396498402 843660266 770406172 491214057 965461798 235542278 683613873 227888260 667780779 507559540 667853611 746250143 528987817 797198982 286695061 971496051 151748593 236026629 546989098 973602732 407456155 122325424 148465763 244660580 355661960 179059587 834089782 877067267 677149339 255184424 642538677 402773610 163959870 179016447 868309094 635165807 717804705 234642574 222377078 712483195 492838818 356978423 446338750 444786983 507622939 770658588 995429544 309619280 543574162 324155323 250914381 751624005 571994518 878997788 875027683 777937054 434081051 719169000 739427411 909802900 919011563 383651450 358558532 241571364 922822260 306140850 483963597 108374167 883117719 876865519 123837750 189726482 247199140 110259221 695360474 918927338 237959995 755319220 582657096 196469816 661717194 484665347 106402945 460492741 943277448 874863899 446501022 587049765 126878296 482301811 486839371 201309414 337776342 928566535 134765446 771953337 512757692 216102704 983710983 239445081 183006068 240014224 514554820 676728326 287478284 365889576 299589263 355779485 877218985 671574209 559374373 329352105 151652591 877622712 903738630 949794112 549997658 792736574 608051040 127789721 967051059 188413558 850770962 567925376 390094155 113948532 693457052 791731014 949306963 941821276 985608123 713368460 778338953 798592959 947029475 829645691 569308940 905859147 125564828 890704349 448648988 601481406 177420656 574935705 813309939 348219349 284427818 973610534 242147582 283798973 101741880 474785006 672170401 864241846 932797007 756715650 164084892 717892166 528506048 407395231 211367379 767944535 139783131 941875040 760954412 476504786 454530492 168081482 527786881 984224962 321825872 958287830 299620743 987601020 865045604 113500609 671574583 301408131 268064790 921033851 632858777 682386366 644736321 348345235 212120305 747530941 982720906 133264817 925431762 826151642 601028409 593599280 538394649 322972713 121386529 750523649 216844847 336333129 779284408 147308175 627946086 900326788 539871455 503131799 198886087 839019386 129102795 588771930 324377732 116325187 654357456 930529217 798508023 114407676 549434103 984464350 662439539 447539429 462664409 315188405 185803885 988675803 644820499 636870544 546983909 160043788 272541987 668462663 563228326 250645719 385038339 406727465 802566319 417620794 878482063 860772778 709419255 261585623 449153249 850164366 355460057 603449107 550818423 976255966 206184830 590793860 147791781 329091139 971235148 907379122 456998183 983609946 921032139 599934676 639995092 319054589 379601256 419686509 131773628 538025787 434242629 671117888 765945036 456088958 745287606 115938354 932122715 886647540 155928957 527880720 279309568 961152660 487145089 499618668 582101639 641344098 188983405 291858969 337450326 299646010 459021257 841637354 993692742 435223647 710815397 675934868 452167546 390119986 481252503 259730409 770475172 118765915 909054199 827754579 861780728 923500935 184095667 361472530 409751085 185060681 789014676 628033907 351579151 645822541 471769440 889990504 813863308 381706634 965360957 568535756 773104204 575783324 400802754 328185919 525632151 965531427 858897226 401694827 258697101 392689795 384269404 997578600 901857004 825767269 943295457 844133746 517229327 278878848 545720040 738556634 975433380 457554834 226412130 599358023 859955186 863492122 812259093 826640982 246174678 395485953 871413473 874031965 988568501 405476310 805334357 483033173 986090857 316599105 817225110 379543888 656950569 893382163 627994592 392068887 101114633 448427976 921234230 510262261 916881709 295951146 776037906 971125492 494693694 333779588 939658090 254280535 789649637 627344782 656314134 886201731 369580062 355844161 487168102 144109375 304448686 146932216 133258983 736209121 671948743 618829215 549143325 900558529 503363565 537188657 613344116 577537882 423615457 694154321 349981259 112191203 349902018 486876255 632390277 552969482 809255780 689316051 776684904 725902753 303561922 619761121 187138198 308242946 826312526 671070254 589017195 781444873 973891384 498737700 564722019 693098784 545288066 948433209 705126446 652250329 690582731 171027636 786016241 977125550 752707932 906417091 487222314 615663420 727650637 586756921 979548514 596360195 594560885 924118345 125599963 468766454 397878005 719115908 817174309 556739075 407439295 296890247 100071162 935183248 324280536 898757794 599335066 876900190 436389951 246695749 832092319 152018760 157156435 315598401 489950911 166309342 568961664 582833389 223082087 980281289 435907391 387154127 219637150 766134619 943095044 337798299 367925380 824615998 635357972 822044098 161457997 967791302 647449680 182202440 400751455 112363172 276300107 652280441 612522238 704805965 706971011 126294106 892151749 142772874 597627768 930021950 743926453 547426977 616627513 855616340 412063300 209826676 603270491 968174004 655903314 438036814 946344220 426995236 745508792 606065967 443673972 331079177 306915839 244842291 511263008 683665751 460869322 425372394 765471978 420123814 722909978 749389596 226015447 848299927 125424548 285673531 986497640 268946406 618658058 112008008 887249578 717067288 308790488 153187307 472784344 518086177 344394403 598299376 587738128 981994041 223801026 521652725 538183486 941340822 315188594 990851664 281128803 949517939 587825431 917269274 624365668 123895500 181247283 394207293 640798898 134357061 224974739 265892563 988389842 265417261 703678467 968100877 592261073 918953784 702703625 550092905 583857231 992575078 407705192 554689880 228158186 112811305 896750388 654918240 214031994 447101515 690727180 171313628 462563006 857748093 393989649 955358085 421612048 378667962 360304046 772021566 631387146 132792199 956987245 913649895 256778533 444966600 283710217 616500037 781897335 174417632 551424226 730839004 125337672 881930858 775387533 469841404 156618808 873255143 902785092 282428078 343036475 491244400 986370329 338367896 275931455 480887094 680955353 630620773 719298915 453669575 732900132 433500354 137468652 814868841 571757783 725420238 470142576 689455582 986141728 658668414 144157800 736019484 427515239 798454610 394923588 724656917 715173269 930413286 783086269 808444203 138293067 281571586 273852634 262590201 547380085 886783753 787621715 172328480 197580017 495007245 843760342 461145616 202891115 591299041 142700117 503390772 399432246 817167310 527561673 663983601 196558150 436211041 290768243 392165279 631267420 949005737 122768642 937054179 544290756 867601711 926866125 840784525 374707459 856267615 240924672 934087102 584068698 940087492 132925872 262462861 462223011 398850608 934808205 517875024 632044553 647672192 363555535 881676492 740139526 362228048 682969337 320687663 264331766 940698877 905366777 402610980 170409991 328150632 140230588 950789604 553376872 608547323 151961941 671745283 891391030 597568969 245247916 800049933 785288457 269416167 736043880 383359092 952983286 605748425 997593249 382779077 488501520 722631713 869349611 964425198 969347419 594569143 407798268 232540988 281721320 129081964 952728270 921953922 331055962 898361714 185624974 111934806 958404606 473162162 181451990 310574478 251634270 416302191 499750103 259716490 520429118 553933103 584119170 180445700 786920981 223742690 440945473 189821304 584821371 805995898 643922419 126095816 529896810 167905152 894588176 991016608 777118802 224650388 349780840 779705683 802357762 760179771 922951168 169310555 402186041 229367430 774733653 105068382 714583239 785021082 650387741 646699503 800202969 479999702 912739263 831333638 963753556 522856114 605174725 807747841 140438338 219673486 454510007 674051187 455309715 439649921 939035754 906558366 798355769 299496666 650070990 199576453 503261244 960146462 170952878 902519081 185343390 955894025 588020229 551259463 802374816 116112411 282745620 490887578 692637310 312858925 349326241 470317633 993924579 733797649 619438848 620559908 148799475 336761941 723145073 172730100 597401821 464160598 729230612 579833794 496610942 663033605 273692703 278722187 455631680 334567036 872996995 689808336 638718789 773459824 204666940 984749880 302725355 591206845 300493825 928115745 441597002 556549015 902943835 575800133 317485718 948022966 463670173 286527943 850612909 297289935 380778842 378009717 527082011 309540325 623121438 424336795 174138170 644107292 703719362 439602897 542783407 188349648 714067831 194640081 235417048 399782998 567372847 291502474 570191835 392465754 679282471 467825338 450203012 862916273 283250582 849426223 237225672 170696708 977096474 454341925 275472832 978889913 513069311 778377090 996567130 336233023 954329952 684935742 622430752 665143056 977827396 254596248 176370551 612401976 824018203 605214628 790280359 696683150 134496124 858086876 903148073 382014452 844472484 635784801 433480855 119347345 261213728 729119999 491432056 469600159 945680411 274830279 220489873 657108714 698678761 377063134 420300574 564978899 230196791 226350274 598566258 267696106 299798888 479204921 658846318 587284673 104279686 344722561 991335644 266182014 163408782 511940510 270658313 247501406 974531701 215283978 656035868 579913701 188888113 845710971 193954396 472661640 368100619 412803728 148101609 205173321 662372903 225803760 110102160 136004618 151213697 526086957 651404085 706755763 174161418 500730679 611195116 243247346 861659345 799601509 430291237 574719248 717587928 320838719 933644757 774597406 854050994 162790013 835477633 484125884 744583053 783642497 281829911 275776778 412546009 754567206 962047903 860060434 636580582 719317456 318856905 908000800 207445383 352124427 348706250 866956910 813483683 387028747 811708198 423969740 109537047 938328758 301033468 267105774 408883090 404860886 754285332 654571300 828293189 584819499 239384685 265569471 119690457 465139416 642903406 492666849 286903836 185637824 991186361 506814676 657553726 969876467 845818037 464984244 856497489 827930994 680449596 285600574 801632192 936661783 639262805 205887148 352438170 708279213 897926242 158165637 637181415 771116943 316454993 521111306 247246832 507751608 420926044 996648603 451508099 489583086 758769737 485584393 979729646 847480804 230964945 929869454 409828080 790893236 704733085 298974749 434310341 396154724 116968563 424674077 509230959 100911319 891141254 396811158 617399742 531632662 236816132 418771286 745395435 334299011 334297773 320294110 845410716 695510301 985180776 592915457 411170804 528946992 178236476 569428287 511030739 502784334 521478489 880266187 745645339 892725494 305463254 809546437 969181598 816591811 966900959 535335831 189115297 298730208 973982132 612238878 120368528 187161037 910692618 875649484 304594193 375368900 326547971 253264605 923831122 105382392 950748790 259814633 791905572 363242145 166778984 647831472 240662181 684507779 308623247 862752505 360857313 416761326 143864364 254307458 186324742 838462177 492314536 383815390 274315691 536376380 418944365 841399747 847966326 101452374 253332526 482667869 373574830 610158643 717791304 320592554 397312409 461508450 273431050 667121150 898165319 789570916 478423674 918101746 212176201 238648012 907504178 780393475 915451133 940087128 433007069 258866150 769563784 889415494 295745957 289532150 506085541 519233928 895444275 721286568 684352609 283402847 192205752 726876131 476206482 525272132 702271787 428897645 155497703 467684676 203533898 636018556 216031366 415309912 474657442 335227553 583250394 541090522 660834979 550762978 435819516 539419523 882166667 628251620 786848319 517161642 714747642 469224871 794278384 927731897 955035997 910013218 482852348 349566619 285054799 210584227 250210213 625729091 215306035 352681961 965987656 744000825 787140237 665864864 889904079 384540130 975731202 322577725 468810886 437720723 138776891 614976579 567106241 522937713 978819292 446365593 600795414 653762073 843052621 327398312 506217032 438405048 749831845 496900367 284754093 732658608 758428603 169469816 273726939 670417829 991708036 528511943 389578374 923817724 492768702 585969643 975905862 370603091 143137790 161519697 717203807 565105209 716366498 658089884 241727351 113143670 735157278 982719696 298788486 898625012 756143373 447747987 439513902 732009754 790278300 379762834 348675266 706554937 244611478 281022584 195069592 215155388 928241087 437807406 112473369 780689175 309890341 830830313 155424781 776819068 362314321 621147020 455973481 320073086 982217390 808415397 275907940 953558380 295975135 138106892 185766033 958835832 539350734 887813785 460541003 682010827 684156098 792748456 463501814 891664354 781851496 301579954 398072809 814014404 902130316 364968824 434079751 641540673 193063589 124859993 941122848 789507780 882480733 285781566 257242250 236582743 213669773 539369431 721902677 781489181 134032093 908599923 673609955 120507442 894871298 939482235 894249749 592544267 137372409 415822540 190573432 315983365 958223493 655843132 301199955 235218860 830061294 214669076 633623407 254401353 670166961 498711202 975032101 324549384 958254743 730543801 897384233 568921414 374600989 166034446 354117767 792840316 662621389 712294468 781245183 237159571 140396301 916606569 953401256 845439864 838704197 805361258 513476199 548385714 349464095 264196803 135712748 559815925 982386079 248647330 588213509 985658861 113222099 460806937 541973284 898158326 927097047 936035056 805405655 587877059 988296936 574547195 607336421 925771427 643276421 504083559 819821012 423577662 815303307 697656345 454752260 978894501 335776245 497777662 589467493 376677002 698889421 383377990 778527342 786680561 396001724 630918857 360791092 883861662 352861738 340030469 183099467 855968513 297046377 978180197 172640932 449665522 640644690 165956278 618272669 892557325 790275469 727913693 259061680 136404930 190176225 350666813 578831063 605778408 181399592 785858349 987678678 614994387 627312036 638479054 384541187 406750049 386278133 195214054 500717744 182455503 578622767 804551664 680221525 822573269 599727386 688752664 862628568 464938021 415774121 251861241 504507393 551180220 143423662 881259589 556262173 690886617 275374679 276892114 185020385 826434364 893725192 473165454 205283632 936494776 554046051 571725746 655643293 691029122 183897555 607941413 778642582 622875171 963452171 988592912 814019397 683692110 588976851 939735541 631797865 545199787 536956652 430467224 645577579 241119139 852776263 657664277 893545614 991861190 775022689 493591612 204284080 192727214 306035661 882947252 900219835 193098118 151015393 714392484 258669196 237283253 647984991 420977306 206872378 904953009 382229584 490775223 285497891 567808309 467862289 205747946 949382816 763752985 476158104 748098164 337851866 387516084 967344485 412316931 524334883 100105449 906092334 796334035 456528179 382859596 179980555 665244924 573707313 671859255 499813590 523236789 881968124 870010568 633592840 392366438 141664601 554201984 542131658 116331683 736591300 185795814 660143763 914379706 886288543 997010588 122101861 104344639 184582154 165959146 377556260 560877965 979964866 833855712 235016126 794389081 459251456 395645143 677876629 399567890 643203979 416290598 837647979 484135340 945670223 141868186 913694163 622012652 670646772 562508199 936356140 709956272 149210168 910179124 234637478 598480267 257136868 435838440 658100935 206166669 834478471 292753100 956289995 368264187 576618628 847596018 260993331 940933951 173999659 520264069 848025046 676487632 322269548 266433295 747350263 776436473 759356792 640955040 266448761 980964901 264710353 960097259 877240761 413564337 460364315 579082356 562305693 104652307 858733615 862546990 185453482 984309539 138388345 950543913 776898021 667255331 744825020 136611168 349947310 273827064 220775021 519744722 908279622 412656632 941569766 977425394 117692607 271214125 141666699 844566146 255732214 654795787 887938633 207379592 979457336 623102402 208127999 259664764 771642289 383524132 285748071 795184116 587002484 977298076 573599277 925884561 362404416 686437809 716990253 510814290 643821107 338503689 957064422 508783732 943707645 954910722 889581730 734813724 232195648 815723740 944639008 332710693 218052559 850478506 103380503 141725849 392304921 708003195 692883041 260555827 880150251 440882628 188584895 842018346 110197526 259397792 115588802 890668237 177162354 869537484 380955976 569031557 188676365 586110307 703140042 241157209 409185883 554577454 390581923 656067720 751953099 562678182 251564540 850352347 577105729 145524328 237235079 606120575 101554852 676481478 162819422 733651084 201678341 375240895 258418433 797782788 189190248 948669641 575523732 937316481 700112395 377473638 614027791 653801988 341333887 642420846 507092467 453038166 941433298 805704345 829804528 370590275 563729196 176037038 900602272 939156803 156304667 428985437 388832459 959506079 624514093 225634225 765085565 627257780 972516469 623112770 935463769 824524445 601108571 555510880 521234238 211087847 316367782 310346774 831473186 233870851 608641027 931682987 500399653 118210610 767365993 684864521 570687544 435603461 813559290 442053063 639614710 723792572 665893032 680062436 447622599 443042763 542892245 664850761 426283651 339841806 861387387 680756090 331994523 713722260 488224193 181747482 106925862 561090412 302162169 373437899 715167944 109343983 281276655 643156704 955926471 615447443 955288535 769182068 942324970 378175903 407552061 809564195 343925850 344027940 658391007 497839197 591888110 113715175 561810213 509727417 571045959 529358873 555629798 737380953 917728553 117158735 783958519 790131557 204667917 728399118 245904927 198470088 739585559 376328553 668811564 922386636 752832855 453079408 124074625 223155564 976117524 799042230 764517878 662258241 609140040 470501768 452938815 187300772 239759525 813291980 206989362 443084320 287781471 114673501 285938773 375182757 227398217 459392506 835776384 462346364 867433096 522680715 265603326 482443376 549667660 987142400 989599457 173418479 859808950 263914220 510182778 496004210 583985129 228625509 714016494 597369829 244562109 165913629 902808798 482411515 657743610 133707663 726022706 479410024 862000927 922120018 345122795 882447056 386370318 100450224 383242571 954131849 945837145 873081305 800924144 168984050 832556701 198332141 565226290 589606800 619288370 421641455 305930182 194218960 265448131 553365220 695105511 540961275 721725432 796864982 474759322 432205042 432218865 495738521 596832031 877407948 789358659 447762938 228291704 622560620 711282302 430446485 100974327 936666993 890337078 909157745 884495739 417026398 164444409 346706882 997204492 722880655 335366656 825713687 337776352 888247840 400687994 882154503 743596429 717280353 371741703 704011649 998317390 326140556 841909149 527149427 742457829 741293985 763234378 273312813 360952919 666044569 891470882 672187992 131752892 846635219 452423832 743862809 840105444 974374772 273441611 916007248 616055865 677321588 526992553 321581537 714634972 732619646 383141464 294378354 114764090 964866890 843545011 379779094 964537142 598799114 482083953 374697427 739167018 680638164 169922369 743933643 275254080 742565950 551624764 178171157 235334446 466765341 272548081 771952405 239729229 152243768 608835714 187326656 880514329 966085648 846154782 511564076 515873570 146362650 391604704 645132654 774909206 662096054 940300732 284258180 758183489 304885425 428169162 768382941 797116976 578666875 192513958 846928900 626811288 419889265 871196749 553666505 191293336 724322694 750290913 339451995 713695881 214744147 333053711 255004386 107204218 303778824 175641461 818898351 800843590 287761868 786872265 183415505 394974612 935120892 536284863 783761836 671660805 798688522 851783275 276791504 145577915 590132626 458414642 347286424 290356345 115554319 611001771 789394128 814882247 144907154 318294579 488882719 417809505 222301542 801810810 653085847 312859210 961001384 164980027 667964644 638388916 843640619 880288412 887569947 406053115 694683591 116324772 891158123 593382079 419974701 854079848 772924367 203182096 352255621 692073749 311354058 229269773 764559774 770235645 189668224 285864700 326983279 110154986 531482331 578814730 284012055 955247710 848230811 483957520 216112229 967077925 266188645 704309679 906872310 214085407 278791982 772146678 314964834 960104604 586574263 802669835 937393503 899259533 333354715 383626439 835675128 924096628 988881473 558277282 443860928 970433749 888395045 636834000 340146984 654455849 318420593 247524158 218536783 705489625 125562612 153820389 763653141 910117714 284616107 588838590 597859100 615662440 937268185 590142913 192526748 963852868 100369061 250060722 338577642 894830913 488134412 273708959 947603826 599029331 492504487 375752971 295861961 850096420 431474156 891008074 318683450 236103940 524986989 581513367 560237815 507203837 632729196 872973517 797035615 879564201 562323537 127754313 524944709 749207554 488519334 568432709 689861229 117614288 654793490 862199794 437593790 786717599 711087368 963091861 165026020 725558202 923601380 909039486 485110818 414521739 830779865 860164954 956801943 520631559 318352798 169155182 601144477 123825315 266101711 500240603 109654204 580021564 104845496 405650815 761324936 366845226 935362379 447089617 367966800 207155967 336071965 674096197 859560904 719737640 282059886 552883619 735474313 915316532 704858813 360646787 321342554 505993619 595409671 287919215 720700536 632908099 112288789 100347904 839728691 581114797 640824829 820776844 221387843 935791925 790863486 121553468 643067111 216920145 289720000 683000084 152405451 965726275 958194622 804646926 793844278 532361211 334574677 480019969 816463080 822193002 977833244 706277074 523584618 626549686 659676419 490296807 175621200 584573866 190359153 322270355 517012779 599258505 901452649 269359579 259133454 633804194 596622509 321182091 382075300 448548356 242089730 484037896 217409144 588681464 493112904 896957084 929073023 471069923 972437434 249906466 673133789 808302743 620446159 153089826 180430009 400382140 733761356 703218481 105324922 526008713 480420627 178012493 590957261 920060126 170665622 267726895 112400457 960127842 753019106 323131109 136191698 692836137 799965618 253107020 912024377 912408958 516679191 472907071 679169723 267638703 549865282 583208499 985491381 599596453 876643100 389256371 638480375 900812627 980930305 132036964 448763314 427224291 608362084 476602867 906694555 820012765 706026566 154103543 778166529 934837179 626203441 669262580 968658772 858091965 679062194 671916904 275240669 665008639 417985326 583987157 809505053 504271081 764032882 445838823 797301887 775792446 176266576 524372277 622008099 165120514 545301366 848244420 451750839 220216161 611861750 262284370 648785085 907322101 794817681 204338345 548669212 370235344 114202769 351335245 943456251 640138571 375762543 113626501 764790159 532396215 542924554 886821228 951659462 815318381 967497475 855037015 161634256 239980834 606179323 774689783 828710302 440822890 338777111 666927672 524592981 520090281 106470400 925252255 545576879 931846990 372813096 953543396 623687740 634335458 894195923 226894826 773872130 555508391 128173449 236335591 158003675 728389105 389158158 503241053 786938433 593125566 139688929 375607946 127741454 843058295 820044360 956234959 190081489 116426681 592773272 880229154 461184530 254650054 666794648 323634662 901680242 934450559 440072444 363827899 849864290 918046954 145502876 235765602 742653806 185028355 175753534 466258785 828282405 625131946 504410452 226832011 214215775 363761167 585816056 157821501 999422218 907212155 224196974 577450523 591228031 818107796 408818901 999600609 976058032 368468456 762411311 341902698 910491411 889891582 455652926 116467349 353188699 538192166 664285304 693154846 704082141 525344299 495931092 678773745 766434199 243762216 901538822 397002412 837001694 158737229 232040294 394869289 303672679 919710010 860260395 258202788 626136038 346975854 201699548 458242055 338652250 283497067 822273697 489965605 732410500 333667052 400698120 143582682 265876624 158949397 355514164 204941842 460308121 971564877 943251990 365770831 153315084 162327215 602948818 927561418 624252518 203182343 737102475 113092292 893616275 905607836 222838032 528282908 114077151 942525222 314379564 733950893 656857559 519815716 175408772 245756486 987960556 418898617 906100815 436233307 891428189 763847525 142288143 513863928 209170188 932354446 372002444 605810176 456728267 994006592 286686175 154100297 459832127 345675904 598010810 756978808 263275461 945223247 619620641 678987756 947842867 802800762 164698087 169413505 493808595 412749001 560967223 595692212 211945019 397431880 791154503 407395578 767560825 216367672 243052520 548554572 759689504 887440869 245510074 760941351 601787448 377653002 584731803 443165748 397185906 929743623 827918600 962293120 292387318 504957917 282144493 667003285 247756957 922236430 871459832 658999683 965047873 371322067 296461851 264161863 127261677 580552989 613347904 653658377 918447993 689298463 150272464 715849520 745761387 984855760 815329029 208876964 178607477 796725197 780246614 939990542 701768613 214828930 600970825 971341753 134010870 562081748 146378772 460603300 647139616 632023923 486858674 106660866 823121338 191824320 592124109 604762625 292026562 998055743 481780858 325512491 832023915 661392378 428985293 995568145 104043932 310785892 827509177 529298020 470028317 905783884 359746415 445569244 656117474 648891552 883684909 737124123 486883912 402704004 575926852 107854958 123811361 819300341 428704216 370085219 807446749 981385646 554344028 401448702 808688925 429864990 444188656 915789130 574615648 189360359 238911413 414966944 296988632 248131166 464551428 416722400 623727333 531671654 631303295 322126337 731750078 739778059 539840426 437773058 528773605 716289172 272083702 468068818 296448318 659829099 534977054 298016147 789373798 884360054 765202054 718302993 125411863 363524350 136035784 478419648 147291256 775058154 905842187 556717667 378285892 611853290 260916619 531132373 922106289 964330995 487512165 603841510 763215491 335607668 498712837 504765938 871357491 477327414 317517409 291272320 737435192 536361862 923596574 189954382 743009053 795010755 306012382 599582931 309886274 322366294 567091370 109463684 178459694 488256894 787942185 813579368 657781343 211740732 122194965 693367270 252125444 913792906 642719913 973324082 344429457 873634277 206083298 575348685 412601859 269320445 462365597 907020474 999112022 242226275 559696656 747848399 153046262 794784950 147745933 245758771 682531756 967191171 257802479 676760021 893737713 978397588 369645571 414229177 178566164 106785169 736685312 487702094 641064654 935120802 212292631 730075776 284872876 511408239 953690632 877730716 164478364 628845340 540375713 559678031 102943515 275350079 396088369 963238234 439471197 360692430 609076413 622898624 346119240 516273237 726595791 200228482 648462004 736143466 133717297 335295012 297340921 777662456 331794394 568885005 611985573 765196239 945161464 670795298 241981686 514797003 881815404 327700250 739091457 290120135 720875563 744902238 418470577 737919198 944742656 214689171 712687185 796821426 133983358 739155618 458884171 873405784 235590089 353880084 335961058 269456621 957527170 341081902 887118325 494627807 911982191 913563117 490499064 482210171 637592559 638912824 702957780 248059495 463365456 614922328 515930431 400351290 983826199 922039651 128141814 786210538 454482828 810843746 757886222 542268310 990885590 590108138 226165658 697131184 161974080 225261863 759602738 897724297 656394694 237168425 712581793 321018747 188795081 821084717 947784298 877328236 306443477 665735982 911677285 236631156 737858798 875216295 802007593 831725350 878027714 728576698 746876141 482201189 675533202 530395283 514234982 625960261 210708820 251170842 314230216 282665915 676292820 720221540 303836319 706878954 208579494 827132518 662580199 882352851 189718017 102908541 299568938 574225115 973463129 440464574 279594666 747581795 637017991 254345302 434788162 903789960 575215583 711464773 209402804 666663402 284407321 609331218 354562626 337731991 682188961 363645454 634500524 485387343 946399466 974580793 882977887 961000381 772636888 231645185 843339072 310064923 807612280 927597305 450350801 579837886 686597074 945954447 956465486 834924816 921784896 262817989 818267957 666729185 193763723 977248646 109605420 149932392 325670729 168186197 862645450 517274296 487562044 186044387 928385471 153534717 131189236 644627526 410727849 141888739 463937948 720060200 947386865 593605262 237108872 704091198 852842600 819025943 311697855 219492520 587370606 572779848 105636870 742432494 638723236 804716754 162496848 762926994 779697945 384973890 827866851 512005833 485353457 482571437 863364797 625086519 158819819 182717932 457486259 301690162 624142189 174284893 310806854 365086170 406853889 766439359 746078479 364208576 289800248 101625032 469277822 565575821 239247641 477796619 845104578 994712031 964733696 506094093 912994726 838408756 943940595 204648878 556547729 883589077 187049671 696341169 738502256 328906498 747799021 707907965 186236296 708357510 203925956 438279073 969822723 371721215 438338105 462353137 284959953 380422184 421401345 410133912 925493229 496583105 838887394 440416220 444437246 192017051 331533495 156209275 114688170 786336006 275307306 980885571 700353066 600304953 884360383 690265137 666331985 707159380 863711894 528098778 461475541 926948626 771240126 347612799 338519305 501279893 102439318 923961182 942306425 127125936 582243657 443561067 201732669 662652864 896433440 102726842 773661707 378439598 441061697 980430654 912906582 542424297 198425680 565397471 398805348 980547372 528393024 832531973 331709706 132017154 374322963 747898623 929604942 758502870 505340067 779984817 949353438 332524974 907537579 788105158 449807310 324677757 979876413 735379681 634579193 939550691 534793053 473801185 628679509 178260430 760208855 732401989 741188072 490832557 857135575 916658251 936974408 541016425 743436070 242451168 103653255 597431988 856990497 783640485 110490683 356731366 514769964 960313674 398328580 263562683 856884278 481918934 685605975 744480842 272771021 710094794 872678301 818313048 940678022 350191546 418680814 899498411 246479885 287832067 810380318 685198317 414674536 325172278 836042743 100764170 666537551 689295489 295469811 425891693 884222775 758000132 960929830 899957832 338700599 493798168 395148790 900515706 352829437 117566197 814900110 948819510 684399387 128739502 331218457 450475279 947518626 567321924 412345941 776493524 355579848 378770443 951972681 500470472 957291083 440422062 225838381 941146628 822259642 612396445 591053746 553295407 626108905 592587828 839892366 999211601 625911004 502682989 251929996 808265610 645392706 389031802 722352574 178841487 752111439 652852507 467842528 961676362 939586066 945595532 635674080 297516737 889485842 323174396 772793812 624197148 521971358 434499094 943985728 285154910 252917994 639391309 739139757 868659830 723531482 353342353 286358731 643802346 987279049 545324106 984883614 784753965 325322163 485510318 360478996 183125789 465650749 805798672 842609893 887647226 663999624 455682473 589091648 333357964 995169920 425435611 838954843 784297986 197297900 866281105 767727864 877148654 827839051 290394738 314480270 450946003 378154296 227198873 638818597 784277005 648020161 275839763 932121002 206719488 671839595 809907612 297882980 975119349 809796810 947637720 925306690 317285528 956881285 585960654 503117977 907198442 781272180 632635212 175115141 431389660 148898101 628762221 890945707 604350178 362430889 868704563 985355642 250229785 122880485 883406808 581709586 768278475 947051689 987236341 830522939 684217728 184857897 406124960 283190725 102315965 328869910 775603389 639484087 451052999 933707537 898563758 284467367 854220674 489659290 721174866 734153098 153837715 581144373 416361569 994762083 967715058 693215158 987481924 534417832 833391481 281294583 295940967 881216735 177759267 989680507 496195465 765319726 875336229 261819537 989250065 825860165 356497200 182193347 711315740 658500540 924745101 252316970 138985188 417081204 449218287 718332837 597976799 389021486 925956196 563328844 841231458 842036695 358858137 443117513 484517540 943676417 475800630 202065986 309026409 915787360 307856398 688753574 452927132 500463720 447326317 719399649 811578310 254633985 858358850 527149753 269162703 120566373 955445276 824119153 611530652 109809410 338287916 386375754 485158678 391150277 898999001 975539161 102844173 925838511 196798208 391816238 253495668 981216364 308208197 407876697 453790634 462706504 875810140 811165142 828235008 510733633 679673463 667312636 283087764 210415036 730522030 785911276 250446451 996069690 309485921 884889446 697884446 294688044 887018782 669680609 824364974 628652433 173419991 815428585 565241051 937951463 644419459 115797091 669274674 721861901 227736462 868606559 977733752 226333606 496385596 845418040 765255239 106724946 446562452 524910501 159592119 467489534 568264083 367654510 743163758 808003052 384457321 831590319 435593896 776621599 262162264 845316300 412217819 181972196 957667247 800654151 597902914 504626389 677413254 737468016 993161721 329587819 295170366 876250264 832287491 635092766 469458066 829479947 698297398 732451495 660658310 731842424 494614502 283763125 514054183 534088123 956486096 256749537 154283265 315952025 266903966 236621253 172034261 169518864 523576653 754549663 482328852 702434322 268069840 259293721 796809947 276005636 434248031 279385889 652182664 668878571 501935967 220862231 542991515 777634114 178217194 679444732 296182546 502259736 229818608 457661933 448442517 108149048 391823646 498147408 662121127 961611974 156400289 315236233 250185608 351151362 306378009 221158169 103495306 827407422 984366123 116298905 103402254 430972704 102355640 292004114 772505163 378390922 123495474 980009460 298722574 775008035 408733226 405311872 558782840 401726441 360877573 248100316 856808659 524781387 416087170 417599671 154923175 827427094 787892675 741404499 755470704 310666914 692452057 454262389 773090829 962080431 225551549 382020020 979631927 160328981 721323759 448402748 878328159 319973928 394755009 911970559 783363378 173080225 460908550 775376387 704679641 533244457 274025209 956617519 524180394 310539413 663773988 425515071 813566459 905208606 475822880 170517664 824695957 899311860 462892368 398344991 793810037 958517570 427584009 881684806 121750606 773288381 240069835 935007856 207772351 633718212 541428131 706274613 535749782 917481630 645522117 968793046 807404501 295890031 992897106 521732990 653134910 942153702 611332920 658582047 713403392 305166069 459493081 180697754 502158433 465876014 476725107 753248545 134394230 768751115 534779806 813127637 733772757 484368866 501684612 715904817 153043135 262387456 949754471 430069807 488951019 769868498 150435695 464002890 469635781 582528421 713601968 432105012 352382351 293560200 195972413 200023864 529954325 271871630 770659172 794561435 474441653 559595149 318426153 208545286 831863302 626961793 950122769 953448283 683974347 968642945 874319250 529244693 825901668 738401689 309490602 197572449 534270902 644686146 391255083 569285584 446499336 107805165 359627288 777869835 964383024 330144208 796637580 186254681 863780279 791736268 433518178 931781783 997299220 187938897 722760132 663732005 784283502 313736450 695287429 521309768 158234708 762983308 612448528 823006215 229945049 697284180 210080034 365380317 659788985 161587489 616499926 892667370 250415280 278696370 346003864 121914616 102778140 334812887 493429389 422927698 950481988 731482551 707963734 223442128 221865094 900584949 733089201 630025866 451896277 185543679 286183735 552575162 620365368 627648078 409889655 187456835 878405334 762267047 561889232 497714703 580235882 253579938 676117569 802741732 482562742 621396911 146277742 486894408 278804470 368490179 447478647 379524957 763064120 733277284 870545729 280045350 376969080 202638821 868097762 161827279 837819777 306417549 313138497 347856711 151456850 668006687 789404990 632002113 187386264 833777165 138120875 875629323 255752990 611656703 555746064 334632038 980365978 132842950 474804721 688521622 340304472 268370751 799900624 440706507 392464300 525563542 220119141 193524104 907790200 561393912 860374676 425941786 353122998 895285877 643128166 343147345 951017557 385610816 954096835 584695991 597869271 663150625 507739316 293274340 113281785 135583049 440544716 743401810 834587231 256447333 739449885 748949114 935370753 409517978 317166295 840435646 462737261 957451409 994858373 717693222 629455826 266945985 254858755 223703734 494872268 456074562 386064711 825594179 900658393 985271036 527786136 640373835 582945264 609544717 754453860 604711924 230820814 608795910 809123355 712395046 975594620 894840331 515718061 437370552 161771021 991849910 246242506 687338812 470496473 980456828 658501473 679876468 724230834 543160213 683098836 702460699 599139123 425063296 581481392 960692364 943898253 693930643 900271501 247442263 607427278 850882192 889485953 984125583 132825719 759183499 391613944 391099478 124957725 487982715 649431035 355961765 140308567 354541516 423908519 827924013 651251110 506853325 988370788 943129458 628067492 197394519 576447990 230878245 472926684 568039129 270300221 955730652 137881864 407277741 250232086 945121044 712573747 746998513 559760821 226892448 619034384 306166360 758916546 242268665 239829790 138250118 631306895 268038011 489859648 475731104 724208439 526574281 695962326 363969129 784026210 669118720 895220690 215642257 907749661 150658585 867757269 823345696 769074644 831974858 895578640 610143603 978043521 832757121 718340497 674547108 639296626 230749176 200577510 208657039 303656272 623976556 517669534 728081545 318565532 589377434 324694948 488823912 982417005 893886539 536784820 616861035 314198423 293065063 920475676 168064244 164996446 339402247 986363159 648737134 424281188 447779686 902997785 921590218 706271762 289690182 660431967 397933843 411828301 670874960 154416204 356709282 790270659 492925106 603393542 208731697 316120078 752909340 822582905 498598708 268104442 289550413 799677803 478420214 418508100 553295026 956468054 880070965 225590163 196928940 205121401 309694257 850983786 231613597 222605378 875773226 810111333 233675553 939848423 637971334 476945435 665133577 863659540 791936477 713458092 123728656 408846810 997240273 458270141 615485183 558964145 851291790 533162740 130107363 905217251 324258852 219896408 959627014 594824132 910313371 696251572 227067511 429591764 563885115 195611447 116061774 526086509 920909361 574862997 978356403 619603455 162118531 893934332 118610750 508056825 326325250 850266029 588161071 811791073 853217512 849182679 393096826 981190586 976692847 782115982 623649772 386382185 690472351 417005024 715135526 201333559 394323356 245816212 906124164 425115594 414279638 529632976 539829006 764013282 248188271 126022593 458735871 469687375 100906588 634457462 669451596 998556225 202189344 690199913 611669923 398260695 285950973 457405167 582773082 172169887 776081606 331791424 612459633 194372192 926509444 511355372 116734390 417569908 146465542 556412106 632574794 200970637 750117686 319368204 349168728 865656194 770958542 292517654 526632755 979985900 865243348 284886668 646118426 978211849 493507401 442743245 693711031 287163444 837326859 262105419 939306826 223124656 487531016 746750283 796439664 360961853 152922636 514898815 131197726 562036908 637703638 135675860 771472748 942172451 891537667 992121482 737869379 526127949 635088062 750791296 808727567 960675412 802374640 261375969 483857668 792797058 791112442 801215559 808830792 403558861 941264720 564683728 273091061 331640137 817336402 561728989 430008728 439996118 442255873 934833887 855032613 217793972 290618168 712919982 409523258 312656994 289457193 797030560 407219209 794128560 207012905 458945653 605471542 159448114 750418590 511889991 650935690 730870151 948974634 625433723 415355906 574265339 531076096 302815584 788441101 374074011 342448965 656228578 211506541 939099587 472488502 330856827 536620153 132399872 487341650 799397869 612311133 724212364 462791306 530212174 205643244 861466856 931392937 550049794 520892666 908027395 135414308 145127716 461552913 852125160 531784122 737013358 672399560 484837814 944642497 774883752 574918018 438905108 587648215 599087638 322252121 470511072 383862468 373612713 471389167 574992608 200631004 229039271 585233634 329623390 651137392 330014167 414181033 349603020 347078741 880278211 178504169 843223133 573151420 144617182 572332276 877856677 937971610 458592485 175294090 728256446 399200099 216037509 646753893 988252064 618735772 509830297 158964681 495934781 839736665 686022139 271629320 713724565 969705126 193524316 143071766 233489070 686818106 137462092 412112879 828640118 675412381 926802549 484859617 342655408 355327623 236420997 209882575 766982710 448870586 339778094 699285232 285587949 445741745 146585708 571405080 535790178 810745455 454813451 658172850 357648306 676003740 599830992 142637039 146853120 389753568 106281138 611633727 556273975 607986225 771407933 860159401 224823195 630335892 453029077 857483043 433366713 579296273 194645522 301036002 141012244 719163965 793615274 233861717 159127259 197681548 394652445 945032140 343947925 487257178 738044767 626257877 420976124 352704754 702319244 491687253 301132354 683943972 381751225 307042206 497830448 570723958 644309065 689691912 144912912 969085394 442168273 703117901 291867805 962940292 239414702 627952704 156936742 784958921 318703624 636542376 888736719 696524857 626717478 910538796 622403536 855279443 353138591 916567623 666660447 330510883 305293818 318174364 840395142 132466181 479605611 539279195 560362626 548053246 496389082 680549875 405018042 379890556 670536857 330209671 454750769 325195736 780362723 250947926 931848306 291840173 214709833 815953430 926075134 354805266 247386541 312993088 264717453 162792711 721806029 803651079 921744774 104163475 149534873 121758259 199622714 221654318 620441745 500812473 639866694 443237632 627994777 639360136 492198910 632219824 238472348 921673214 895428061 803957563 668487735 959766428 868159115 980436305 265325483 169414395 309849565 516793928 167915248 149342486 402737098 377446371 911684950 182504044 148015098 752589647 524564643 727008021 607898645 121878091 355612117 161178062 994461341 944323911 545823235 116512982 759173995 623015653 100618918 290813015 986319837 440532837 993901245 785141647 977393867 930396891 146091894 397414194 983858872 168064337 656755382 801049182 527305471 946757142 610131084 523775873 427938486 251008943 730454363 516783530 748368188 973096386 158860647 349470944 416800248 524901399 135612548 120159235 535147399 446344328 556508219 477352734 425193856 819678187 308588654 507430762 914748395 296734801 633624541 258196540 835769345 580277792 122073848 471362098 736430649 582664467 470342931 737337302 484503092 212562915 556882557 546741703 281641153 495322511 988364094 836861241 621807152 814567442 599783390 892475739 774395340 314018778 723484585 388606718 531855536 503554373 348219122 576337915 336631169 351048817 540602290 488471316 236913108 609202860 673090634 995066833 825825569 262439485 805256249 336449546 622588591 232896222 436079098 584199700 140253979 282663816 614522609 502784250 384585595 280758406 371217119 361269098 810109804 474095573 710608345 121875647 367875755 529223878 194064714 289702423 834773029 800866442 427369498 313808646 789926622 116194026 510384975 265342848 134323010 300797321 913188733 654413732 773243505 965634757 353604275 919886641 949694920 703372121 627644935 474916763 997508852 619695420 364515585 285219197 853384191 850902338 202050709 479251959 308144796 193758291 472301742 906188440 217829153 116494623 927962902 918197463 945341745 259975897 334528542 422933691 289847233 188035868 925991234 405231808 847776077 324604739 416041581 524659455 143069009 869822848 314962980 713497085 797338027 944073802 460686049 972908998 198209773 449162864 279090604 604387374 482632342 481904719 963601975 491221889 496264778 310827134 427964653 617209769 429442815 605778237 630533185 927993785 106358601 613677726 648587999 103387331 885584410 898469450 971115963 412030580 733652898 392445355 947459943 301700500 224590166 771631112 311105755 340887984 969308536 823494538 372864412 455035805 575859484 425680224 534631081 248985240 906596517 509211480 825453398 163237056 139901152 381065484 197440665 820919125 120208697 124811872 993232333 180691899 336165398 703823789 812140092 565790628 686920462 595822176 557987953 855571726 911874600 742306606 101250292 573412536 774801692 431380639 147581034 645202996 292342354 496360379 815442743 791239793 933507889 454868712 115469406 964774671 269801986 370676729 836700054 519429680 119559394 822194378 379511393 269257574 409599891 853988246 159827176 629700469 321813992 124947279 601730098 370585898 833644514 618498721 265549309 562656725 713331957 296809339 373851361 795657232 438965165 454734529 168583738 496108006 338674459 451219109 846282347 868772877 224136026 258282829 118089487 130552901 390077151 704971852 854983627 301621186 998895354 936163940 280255965 524599598 897419042 375320377 730487915 480805050 703772989 490535089 956973311 319982325 175579265 247798471 971192775 448160915 324549733 930750733 916510363 894648942 401530304 214974052 671659316 407462456 892773069 630766081 176679077 106995553 373822101 354061712 592151712 370930889 551427591 512800525 886088152 109104521 686417038 530504503 917465559 770936368 645086013 230809923 734248653 868100730 688989679 955597218 546855884 382232222 492627658 465983792 874217378 702575691 862465040 859172272 706406371 823721957 517630055 167349395 101638030 221143753 938149670 848957571 383487551 396944567 662567058 646423290 305686203 720301269 216393697 664401742 698606526 249860560 521862700 353133929 687352518 238070549 575476624 851254319 369727847 884808531 572539504 167667771 916988154 194010880 968174102 816801700 573953261 288056434 980393408 451009528 940508450 519533440 789709551 523945108 141060244 103969548 690935058 583148424 347522407 182115853 978493171 442756136 538465222 655279724 512400162 688205081 212284809 519474351 161647078 655956904 669246833 274795294 785840870 203591448 237084095 492116703 238539426 360267234 965026305 868532851 666655227 233922612 393870888 497199812 849106266 402760107 130442342 175315691 391188657 985297341 208033841 650690086 326563418 130390057 634313872 469508232 440787495 281740304 662552397 228045735 650497866 514975017 942632942 875007676 186609917 797118734 927695982 795555201 171269161 964171203 480549807 781884712 381454193 597724578 395557679 426535363 819953160 853224930 316358431 971147366 411801079 980786044 804632616 693282014 263678679 362582917 500665015 421842411 316519885 189251361 849176613 403141295 116471654 320312715 435950028 235993179 789087351 175964027 851699657 160255428 251040869 481388097 219788968 849075571 427406831 368180704 327898213 707301503 796860564 199874361 704001779 468564647 463524463 989504195 875496270 195658263 716093868 256891361 446214034 939929786 129042776 653319466 248640357 283055435 330279484 534138284 993222312 190874306 808432829 544803603 315192549 559523310 880507342 772472814 952344480 165808265 987674468 525046890 581729372 468322196 473271564 752979651 435458896 351537242 838503659 953776196 946182961 582458704 651542682 934128832 909137623 420041148 921491878 182824152 665388445 806798804 252432242 542080477 142933169 543914801 660823720 635154034 111712565 972044076 409920037 322822789 518639038 480596942 814985642 466761522 506564995 618221816 918805018 441277755 706965709 415784151 349268963 349193236 251176715 876916726 280733230 353492569 976298833 987302664 841422850 495338326 879731606 774664379 571958753 999167257 450218231 232351230 266981706 226830767 847026913 361019873 168960617 512043123 576399006 997373907 902536798 279973018 123687920 540606176 535938507 617411228 868086638 689253243 631549230 942238777 101328341 363486426 764001335 278488156 158080980 903197743 547923534 386319149 587416852 334935218 915484274 119077220 329353442 597106592 941479884 323815817 372083015 489613951 210736283 964059492 786769030 841594869 519933088 922084337 125543466 605220323 871854086 924783362 639320165 461061398 468193913 396814116 991782450 900644496 234139548 902340506 893220805 632411258 838660008 763715868 816132669 659898067 642134108 598844448 950958556 351655454 518301561 753207818 850436690 602465949 864091545 935788378 144869845 608589063 509701500 285720375 542711371 934834674 357645425 493658889 120617101 819449897 281095036 758229977 536467601 943605127 490607350 638355705 966281723 958817438 508141617 890794594 632128612 874813624 687913119 666224237 917676842 582484923 263032710 171734862 815640373 764021435 800488901 946392919 965186667 843183230 788684308 996021210 895627214 255184575 423716367 892095274 398095013 990341080 130295092 571798341 423318558 590072675 739835985 777905950 101318500 478313347 498450675 340904400 819967014 447126923 838854492 835043087 495815887 990141210 541060122 712376622 675801619 553942763 832063893 943067783 453214387 941609666 808918973 335950890 301466621 502145548 519162008 403115135 993643880 483879260 192013441 305883149 351897774 468830674 403433710 696238913 372316959 770992312 616796939 650439578 271289936 192175411 642448475 171115892 763862914 969110877 468545622 373401371 708677462 532979835 214183630 182999785 174545278 667883691 290430405 522634119 176265838 828279827 782222275 246544356 370914288 894205614 547616736 710127064 609097891 335893634 401030497 766747682 112306163 714180284 845159910 211112885 995493361 508519434 231666615 742590644 261224555 725982053 460044505 674327289 571991853 749272107 829129951 627070829 202453722 774739466 526679008 901742559 290276284 374333748 587204239 711616362 483343700 909944401 213219593 669047817 192490820 676292836 261237799 367506374 173121642 539439087 505892203 507470281 585708286 234803126 795580450 554843640 116162447 438845436 134911603 401943303 569436839 789847450 311920131 107069794 864951711 825067601 379369461 768300164 147155147 497117685 991252047 348165078 238258958 536486376 367813622 682773495 250352387 913746858 303390183 976135468 498839728 299482678 535307165 173109482 363977640 135484044 734030878 864392677 963511026 897864548 761466400 459236830 180017771 638076974 889045073 155450165 800859603 346123712 239707456 178168470 654490131 122773958 608433624 232179985 177476492 551043160 134774570 274895619 514251111 715201884 891044959 672130428 499436342 235694694 759796555 107238140 539826989 206918078 917832039 292136892 976919592 498802622 663748504 800246129 151595704 379053787 648858155 606667813 833227730 942103172 659263166 173158399 263831436 180892040 587155754 868688508 175153882 215214629 651500210 440630488 303117645 659791677 121134202 696426027 718462390 636082375 929084425 218548791 487638555 701072558 132549543 975952238 753996178 684418585 312977986 370025700 336368387 993102503 447739481 797845435 956052295 426217972 465484703 608716737 997402038 172048866 903932728 890162352 892777631 969578718 228408962 330334444 251527088 203842445 390284325 829287653 579161322 532640954 784557585 267666805 855997896 486666189 832469083 802959092 894292883 651889518 447507629 657351279 903063594 906901266 527779970 201132320 816559839 861611005 554578121 397688875 653250102 194236301 751315727 235815732 219654081 974975171 633326518 555680037 674986655 886264334 109481037 978591987 281614549 405849144 228197334 423468441 804734201 255783187 855380966 503581958 859214130 204299479 654567241 614526962 401890131 636215285 950863653 981352602 688404404 649995272 336867717 585677357 636642565 869690894 347208492 941470827 681777086 560176944 426047139 265106716 508732293 455572814 756493346 279051703 520940942 356421098 990560519 312939184 249567987 274598389 245903580 137320140 581445442 229390246 117757127 385231438 685970866 212581551 598499125 207785287 639203275 756644316 676594431 138995926 633020461 866638030 501041856 870385647 535023695 720534604 583430848 474434316 165605961 522575409 169581961 589735839 230562345 809452490 466760502 321583624 859992798 486483206 681059587 634479507 853156597 682448947 654601107 686441124 367054040 652031635 811760281 419599747 334756116 566180156 623281095 206033012 652911226 322668378 203307977 978781668 369814837 119527625 979708003 439936058 980710686 942403472 350322445 425491597 238009729 299691208 320403415 229388227 735321702 326254592 475846228 226511309 536156631 716211613 128738953 650171963 319093654 953060050 675570744 386482926 879416323 252032369 581000840 109135422 546070912 327323430 921204892 112446322 348402834 449802147 387892833 144383888 656844732 277336390 405739338 760323148 673309142 395464876 278958054 438772435 191301018 790429718 389783749 767962506 950545887 660619460 407682304 855380252 473496213 475484528 839239997 355047063 773813221 436155668 653360581 376878643 757188148 610592389 498685053 869982435 428559850 337853616 765569627 158154710 756451887 296209686 789534250 349851086 468180871 714219858 464856527 241097093 160217296 996741886 838720978 571497900 864668124 633794170 819198422 122830667 678886641 527900080 366344582 358304096 254874017 806161044 632451361 813442014 328758374 280131273 964820330 299859602 972248540 102310028 912114948 637242495 362979493 648884024 101957465 208701960 308239889 424317085 138813555 843512486 998467598 962559259 223039106 420511273 608998170 686116311 120611411 155161149 439792667 989178617 858296089 584958729 347687565 237803535 837696066 926672040 811897690 347366451 541637772 782968743 321162113 607084931 755586887 425451906 757281705 792440872 890325472 418695330 681042196 593145006 904283675 957176986 486217584 996974717 574336831 352994709 257131682 616959564 864946631 897625035 415946175 319606654 873200368 259789649 567919669 127283555 180739288 983462510 371118447 723626346 109468420 754110790 516662964 420064924 830150179 950132222 319311249 576443163 879537710 987582357 221251701 774166686 744123812 747689245 488474863 874541273 864329025 652117539 770694771 812633375 583428674 388570759 248147660 183864837 341737796 554828285 182639204 629935855 150038312 664982205 683875127 640486028 374072510 863594676 214481333 474371857 891260346 944851196 547538876 872262309 938468205 728937970 331244836 351579435 342526298 914067150 655949634 123531782 160394732 880772147 379230695 313094855 367826973 478020963 677349010 747516410 788677514 703067626 473951647 408454691 718392332 220054164 628717275 613602332 694758468 792590251 274807082 849935683 152001417 967637496 195946132 115322668 854673635 452298272 608047961 707957313 289905798 195365532 148898222 587231258 602278745 478011351 254480019 347935219 751097052 185463089 301163103 185991675 169337408 318127004 583901348 577441239 799992209 304182198 745299943 996906994 670535888 360846371 797146632 389390218 373832764 643059165 109646007 788685296 563555145 264009258 585552708 851058107 556738802 665102658 529819669 262595719 166601946 637408693 897677698 499638363 684244521 249450472 496399912 568633373 762382009 377415262 266936575 482174405 456846625 211973595 213197444 857233424 920562465 979550975 699146756 709537472 337052712 171126877 539466683 412964467 433203895 944167459 503815400 734270101 915549538 492234149 721801988 511145370 578065610 846511999 481259291 198856742 140228521 844305540 103870995 138310606 735375649 837865892 742876351 232366586 385579198 602547413 319701017 571526030 769471242 153290222 685577410 113690601 676113524 812011757 741140656 412058787 281873435 915648388 728387048 139505090 936781647 920032459 709005982 520131959 684376567 632629735 975316660 194604019 342399990 585906415 455232073 879917200 489531467 822553522 501326608 757250843 887522611 118859905 220779939 435216050 912370020 553111468 447735262 319062089 692724365 424041809 261548966 502718320 441491863 408326737 259048706 999645993 786024825 420825530 267093444 362279150 586856105 569333800 213741489 827498742 414525208 655423691 386027547 285613736 165176843 628042521 525653327 692839721 359722703 404150462 236797247 426856939 380764005 800208299 733529582 914473136 272936806 830567108 384828723 933909586 922528922 408700236 358203317 905877174 896247482 372221241 651267871 359604908 342906362 418415730 527991885 168935019 156896126 331373635 954047051 320670891 200021131 119766850 713599884 559897776 421218129 857321724 662318043 142489473 368019781 709513488 463186453 660577442 324685104 964568323 962808642 224431593 812288224 328693653 602527763 645956423 633203105 298227840 329457174 245916377 178766584 430907889 330711704 760200303 388566687 192497893 621724827 451858490 112588897 951821775 969861381 446893919 421143425 611778877 731180070 156347494 316998179 798619633 469487818 963494458 236335931 630838590 700651997 656160732 890173495 115846709 758283103 302305584 506821530 844375320 539332426 101162260 241580369 250679366 378590337 615591376 729698423 308352473 744649425 790026653 611263640 341863470 126352591 780663040 612680726 409837538 953843241 527404441 823808030 771661216 942568869 272278644 992518429 182789157 957822157 353929321 441527816 293024901 830688432 562741304 766883613 224594797 273818502 967807588 534660445 601938429 250123610 661182736 489163206 250628841 260198342 856101505 396272465 788146225 111896939 805051880 627036939 270671903 651061410 312307542 766526423 387946137 506588615 376613198 865624704 119510806 962818713 150054152 931014185 979399062 750022775 984439766 181040268 233946537 882680974 575148107 724987772 903620069 844905083 125122649 803074378 287295719 562052664 250409248 150555197 140115572 995002963 375641131 341537027 489159943 144690336 448717032 438422480 920602172 378422845 945366712 697513991 738142186 775361241 279762056 758717269 627501155 730338123 232585499 977405543 501357759 310364690 600952008 276098630 984052855 979661050 645379557 419634978 216428700 119100019 979934734 120415669 989932545 839935067 632532875 417645991 356159493 315043093 598131818 363857684 532995728 341679660 388609039 108112127 251510966 566622713 910040593 737354126 887220028 421435434 682741058 796963218 532896314 746427858 514802073 658338247 439914617 475475573 238005931 417188632 678105196 818128944 615579263 132003255 718629499 374725588 283105903 871717175 246462305 543649146 571768556 249362290 617220041 651135716 528365071 645295442 331539821 193856350 100937721 106589759 203321769 194742071 942396842 166805022 232410885 409877557 413049333 419354524 238079375 699945592 225364921 687865235 400677150 203311569 405900425 363001819 675191261 513119659 733338933 150620889 101939814 968985740 356764669 458071426 613906948 286548858 156324111 357058709 321128636 956945395 260024930 840416655 776690941 199494775 702564802 757220549 217263434 346522218 823695421 571089475 849060069 766472218 940448895 199823141 550272634 505701217 614211631 395165930 200678771 470636161 679805618 459476537 241529386 516516531 270396944 130533194 384840973 988914633 492626882 184038394 989904102 836598444 884292301 282426897 944851452 138202291 270219407 768454199 944351512 384213956 920865986 638518113 557341513 583726740 180718518 383649367 750702460 226484938 317151763 708141500 430894373 813300151 844129111 168680045 415286901 343155008 722239743 680101335 918022382 870464447 920689552 179352673 356993067 453653738 331289154 271044353 612185818 793358322 485388612 528882494 213873923 269736479 307561365 445536812 853314286 756521325 950027947 701912686 882562627 468105125 724031564 314903019 501200347 558156798 394868555 114094761 778794637 305286592 527772525 673831055 513101198 206730760 331618839 420152437 279346064 490175517 521483687 803790483 697882093 500149638 562834527 224410377 957746401 151211817 592146520 121062842 663810563 808908910 443386383 465033841 844228328 226751747 781162224 885842504 868866145 833271785 273388131 550997281 558005502 148975333 869712339 787537961 645729699 385327026 533899940 233220262 985302319 222015375 274524047 221528607 393694357 426350127 363877434 915676288 317001166 397512422 252173427 163167884 184748573 752479971 146343413 864407129 686257421 554882771 319119827 443873008 746980112 165048479 275032985 705797993 449263357 650067951 477118617 334365953 425455197 132892436 939597822 324374055 871875619 236455300 149958287 380040638 204479260 570165012 338049024 460038071 151912824 216722583 349930133 879724910 589913586 410664971 400345960 111155961 453356666 382055913 488894218 526124210 300906941 774283019 887064540 638949257 348469396 317597293 776310848 250491304 989165732 260740508 836914827 954465167 677854765 145741253 122654042 897418358 309886146 396310425 558063439 667936663 372900994 122845756 802121574 389350055 223313254 561041862 976511182 833576596 371489960 570415504 188950547 355783743 930947092 208049629 422541196 683846008 630145906 100935612 849016809 117455284 288076029 289525650 252331495 148202310 351619420 764813950 898704337 812919702 459150331 426546722 287082936 552046385 531628432 715107374 338057982 836060234 199849414 435201223 575486157 164740885 287189560 329765296 860290739 445257010 310258469 499324187 619095045 405804303 852641660 273793421 493705057 429316793 398549517 897546766 632027029 350844571 987010750 519460323 518765325 226195990 495930243 954424665 267568836 158403032 464723597 777236110 238313736 527444812 103055540 782387155 344658429 675994692 345701961 268748860 739127483 472314989 151314656 928339560 137134712 583700764 209654451 537919452 246979680 125776639 690532837 954376168 166512956 357882389 701661579 646830164 725114910 704573935 624428981 401692841 530011412 865953315 140310630 102509964 443691741 583825961 539648437 211624936 622583832 440123331 710517684 164179111 146563586 588636153 131383490 846531315 997403839 107633401 659397478 590798827 686798470 902767821 517044465 101737125 889806749 204681334 860423927 838888612 245209055 971130054 637362800 383021536 877097521 458393501 989288817 382523218 324904255 965162352 417162289 432476569 233688519 221035502 426446460 906082936 113625248 356795679 838405562 975122873 713686654 166796326 947128176 185161707 104920991 845607232 341521837 914574510 499858502 414437196 596715362 332141134 568079576 352306410 359950983 259001456 363446811 263631135 259649789 674118200 850826710 451608313 333701889 428567247 537003267 567573883 108125046 673166495 988040387 143359839 210091026 499978026 505929149 114566641 875025163 897507186 186165775 346896848 840506728 464556021 948385373 685818909 551116713 555669840 502278023 317514677 949589438 108555335 500636418 292296076 591571476 466120049 922123850 897205098 968019787 959182295 224695645 528811490 388343681 208881823 295426092 638022560 317781575 322514033 567447378 695160919 147502938 415430505 224672867 981561116 747991866 761738238 305489564 447158906 583756073 189836482 187951327 613931938 719360327 449739561 771063061 423322319 772838364 692289100 563564033 578619760 415766443 471575405 696793601 217593961 128264120 843810536 822283822 326120096 101240774 657685490 535409270 468388361 546570428 380257178 175619789 842977619 534145327 519270399 180514747 202631816 857097827 484948242 110594367 472078344 975589658 967687123 450443553 906781181 303143795 596575740 841721516 634464537 413316457 369991645 679122224 332769992 107631790 334500608 102422449 434931981 653341761 201520067 390240043 695219891 703134948 376271558 742767737 975375112 928700588 725606107 652538150 484067136 874315922 545850506 870863099 964573907 931740384 156643136 904201091 856873514 161477014 900706355 573968270 674599780 861198778 246205172 604961396 387155246 994283255 292085352 199227232 835665716 843966439 327201033 790802990 565295821 876567733 708230525 422489806 773909500 987237817 221650208 714910617 778199650 751191751 385095383 658791682 365972885 793265223 218060949 342539693 450456415 380141475 938416216 402783252 170506648 404485280 925280047 641146623 894084946 787063139 529606224 607907217 747495204 242299817 813444384 947438791 608007892 345035671 516204490 995147347 889520645 985580238 369140348 406851772 254044792 458417067 119600749 527912086 500728921 261362282 415834428 689289268 834407335 534650408 830822643 477202992 782065865 339642962 355397394 126710488 120890725 567478959 536751903 432382096 339518004 666341646 729313382 966862320 510767251 614536854 645303851 708653617 239899490 518173031 668404925 675842718 576154003 274464101 324921823 355476159 170455497 648096189 896525741 259488572 498161517 841706112 942690090 450393042 917384747 311500538 873397651 795053849 931361396 119033891 425279741 459611559 519723074 114817278 547148175 182185769 791304718 229712542 776820692 588877912 462393761 810332337 127570361 253035682 347913950 570527823 427703238 492137924 514611513 937891197 625569890 888694836 750430960 358057872 132290367 318082386 723044950 948440158 954695453 968495467 340322873 877302206 975083113 812044836 804374087 285389987 624625810 655552934 884916784 955440979 971965962 492564073 604816819 613969132 731095045 754805311 945381605 499073918 257196095 996662698 735106711 428264745 898163305 367129079 173988710 919568653 893672660 195178327 570295610 589210853 839663280 700923440 991399959 710480271 471027347 921977477 589124531 820844228 473875369 189134567 655924483 868621589 425142859 580127967 406648256 144176055 878331454 155780637 756653825 872922614 182278179 677822168 374086239 967260099 554611303 925969553 613179473 286193109 863507567 856955406 419411299 923879199 642037495 248661189 263125910 787314630 153700391 878940759 722707502 756767972 842434925 933244270 124077997 299058232 290585041 320527103 952236111 317213804 884257198 207495354 492817076 149966502 175414118 616660412 661698768 402343959 577598459 699038279 565135422 487978353 197859845 173407777 644944287 307545484 588166544 470202197 500584125 521221479 106271048 420359151 965607701 424719789 383092906 718667236 441889631 875123301 563171227 885768342 212085186 511158432 344403249 451332046 183602030 674270892 620205574 612695440 706324148 235636877 861039132 148629928 804139791 849561732 636393104 757372195 407869720 761337475 300181391 808244477 281605436 890919526 998206087 644813825 491669288 232861947 567418988 531725880 760197016 182116773 152358641 708105445 692982783 428701891 557617174 124352531 909190357 554933197 174525679 130245701 689259929 698001854 849987183 537236347 633684080 518695778 625262642 781504064 122723564 686099155 289877284 331687825 773977606 641910107 871025409 278262805 491757486 109838052 998621646 884314723 177954860 877285175 135456390 854765350 992805753 661252652 391817089 575794904 854405086 811866597 145971620 273625318 297965203 400067758 628891104 848370155 237197750 831079724 218549955 884514744 819233487 859931169 488425754 281613619 249736146 600175978 936275890 858310794 558267456 274515009 478582109 350184245 915208552 430704822 364132838 538227326 883220168 104441008 129640248 959662479 332031381 488785314 530561761 728088479 711407938 233382832 967262685 304032547 730454830 805512216 978647061 688120165 920724765 228994216 978616689 341576953 523346042 540611174 268974281 437936467 413223207 519019267 376520601 166696555 942306174 131061088 372322547 171644139 168794851 323422263 761261898 384969895 227667718 310955061 692395205 460637112 545751920 719159923 442058026 299055625 120090832 660673937 825363063 601376776 562734981 844208095 366456018 410373994 294287466 948114520 596341359 497303529 233120207 114156630 160729277 751005837 941980964 182340336 620761758 616628362 797142779 226917801 706082877 872277382 171893839 514102164 978011109 298095600 592408863 171823336 685723896 800018754 209889259 516138759 263472872 318225558 332261337 594694444 311030108 581573820 655013814 739101093 263326764 947936908 353340645 118814604 356069976 145628494 267379182 835498960 273451895 142603174 111898833 217348088 879936042 633783707 236274747 533562815 267331888 405886256 237736081 237239761 624403104 631918831 928653376 310259424 491490043 745888443 845664778 632032695 300786754 935690369 844805398 453141385 452741960 156079111 720160438 982250862 198493018 917147798 182288219 565850210 189490274 819156825 526008233 423409519 307057846 668265379 226485223 400241435 693404636 708743391 211979736 945096641 448866206 385949505 755897315 533375804 576510719 968663276 925523955 107632450 245039261 342222797 247213169 141621494 613178432 757003913 149421220 708129147 924355230 956040753 640919318 820657087 931730712 167606206 130136138 924694473 986945367 967059378 963565093 100666738 789137353 594624906 499633330 224624577 878329315 919368213 759755835 896853395 636620373 838336750 814217204 254726915 210290542 940936292 169148021 740731343 877938082 964377641 761061542 957256631 641239422 792858553 101070783 654157151 351203835 750696290 308218597 110534769 147038440 159079533 918507968 812108695 710171709 613394160 119402930 424778600 220117827 998576411 399468109 691904009 524278643 457383970 394967814 616406096 936972802 610951654 391406110 722518228 454269158 486152257 250231961 792592057 181971399 477096894 521663849 457402265 378401380 395824179 915603845 619415077 228504971 108258362 514096243 963460321 540055556 353567173 683789680 432338254 356746425 371445390 425304003 231083046 492048552 141840165 723179168 816818576 136613031 626889998 718288136 106656812 154263415 128489675 464465591 123447316 448696502 119365695 746059040 940955472 208422735 532832067 918286892 752826764 910306210 658114560 748598699 279594338 519350960 617732308 521317547 307536395 574183989 946451200 501904927 299699790 828686117 945587641 429350017 703477119 306571844 840305954 753737108 547934194 993808068 758151771 157317386 896660326 621153343 639237435 692657967 315506709 348067920 497028400 128788304 390243997 981785283 178518343 751862222 708119066 961697850 688882648 410503397 490192502 696605656 937459222 483872305 876457611 142722211 403446057 100010476 112324666 107527023 102881586 523793223 833271165 809111056 789425214 305868418 941101375 190712363 768635098 398684259 848957255 707219401 992593267 211262896 285601278 649633503 455902725 212939049 132812595 473206034 301906048 241243345 207800244 339095052 871952290 105359360 725951659 767153366 721809818 373603747 478219673 840982546 914210034 180272865 163825177 894434767 119669058 915894808 822890813 462037473 900129407 905303755 380784502 426153639 906490703 446471694 207782476 288069873 634269914 605910182 709241541 409983083 468453281 364329847 678529443 647778458 978454618 239735731 651406677 599209146 970862874 433111540 781772630 912380242 563917707 462382085 346153171 165118243 147737875 448334345 894910673 368096839 396085714 600302363 546552471 636277753 684594526 805868655 354951019 744604834 164315194 902763903 534757568 754886988 366280725 258973825 286040902 518500628 272251389 369497318 286448461 260851647 987659211 184459989 164137869 328013417 431775856 712362368 647948428 227508003 610255570 132941458 102000039 667994373 256742665 382249699 515538768 478578212 972765033 147594607 635749482 439820622 219197726 703525663 692701662 395633768 925336748 416447662 566187690 157816038 475009804 157476214 697065695 961051388 473819255 678991929 254822325 827116536 529473378 711968015 170651965 132641063 182185879 850141059 246390528 110827704 290998777 133023800 967196198 856570276 529029525 448301448 757640507 200299412 442184516 823524165 808405600 291035823 277192121 926635083 369010028 757850222 741586054 885351742 824534221 723712866 333390432 625621870 494264563 326450902 294493110 678707304 459069284 180301654 606172117 326176682 769639471 839278615 817818706 955231823 307823166 624101537 846806355 153025979 227510999 821173867 685207089 452614434 327522111 987891312 475629132 831029010 958633347 437609068 583853350 701276229 535849226 394141770 539244254 710553756 582123773 778006784 962906622 992980684 213417704 775835598 353572235 707930791 592829788 351569653 988970932 874581606 961397188 622100175 873320723 467478671 714023777 147902459 934096426 916454638 934419701 616692517 307290228 373226763 809012234 122047147 358449796 838604617 354583254 429363890 367007230 114119250 387138356 464741904 919059191 871912914 375780421 857791171 518120719 598783468 712498234 170175002 688056342 242799650 962184808 482579685 403735538 119562306 584276448 699661429 652898576 991537837 840228835 757739254 259185526 806184638 403002758 424841240 585923099 132875085 380772733 657297093 218818606 199473517 166698570 962113713 128829157 584048152 478585363 157111164 662591755 620989617 559863043 753001124 729284929 469095862 397903045 479759030 576681866 140392765 138235003 492584327 721552702 485873412 406242035 117442629 371980807 740434916 330860948 963934803 246543014 578522144 535294716 586098006 269704377 281761443 745683137 634643606 609094344 782471536 630610353 511155525 485019385 360500010 703264776 918659974 866919191 199397886 423285880 377505014 690898301 373112902 678343467 468258736 642600043 989696670 366839625 546766384 173379134 455170594 773014422 922556643 123229191 405944986 264206403 429208101 159514753 255972022 650403771 650530803 731521379 861766791 960124481 423342306 576529164 353775799 968656826 317737373 203766849 893182293 268742967 674970827 935264145 686864099 369569918 364538396 853249523 368870704 653338719 417558092 762430826 384069039 933063592 670623826 263515060 454521257 132445388 390639898 907145695 545524850 959523742 541408212 147840809 802028952 135673340 263175243 193039914 970116716 728904363 155788044 969225440 817080800 823657812 265306404 382930265 417797244 717879003 837105846 722847023 155929736 662562745 325864937 315373837 657398693 176738822 207907701 826405329 628718862 523862703 905570065 426115400 129398275 280641748 871966700 936275783 446679043 783707453 871627985 990586864 564072341 725001075 197078417 780856627 312372274 772210875 926663404 961685996 475633893 330305389 240422032 190830769 823000744 238904237 237619772 403692808 169990087 596345070 251310916 861815673 738535789 117447259 793428519 404283113 379447923 972494126 607121352 882249008 462400647 961695442 696849515 377995628 622092463 263953625 668653387 451147156 537812979 505770937 838266209 784521519 450551353 560098678 270522853 844895495 868917152 106462842 295088245 436390957 539643233 321756349 978859169 468598716 258366432 111419365 145786760 260136165 431726151 825091536 411804565 761242959 607714893 479582609 475864740 836380997 728833906 937997546 228024440 938192022 368150550 578023317 354317934 823824915 368690524 131119004 560340652 753089388 970807072 582030599 640844631 578398526 545251779 944948107 888261867 581017286 131386736 337061818 705436241 760115438 674953388 789608901 786411527 756736647 476893687 363664419 682346182 350864352 990226737 756607591 864481895 473788810 581145556 714706206 545683864 217606724 662088514 992697963 270971124 584617612 885578886 773203534 590846730 190566489 830155382 633369374 614537778 394573286 595846579 132037437 549970216 277180591 142794152 459724656 745259911 840311308 809721582 666355634 704008089 971159843 888513123 974675980 844750828 746317976 125063494 680006860 371519260 723494105 511089199 749039486 474928541 257863109 857318175 642142929 356931798 997299017 489111056 251299158 414564964 708289639 860361727 444880969 385234011 907786125 897645081 770111874 453138428 235707276 679600320 290151533 920224981 637056549 616204678 832210483 213477592 726082665 361128209 941630302 681317877 513687420 293319283 122244831 138549792 573533721 254827987 626095942 807825181 520688745 311979265 524416042 633930443 583113096 936441489 722688523 494404149 462643714 243867506 840547703 862778620 859870566 655162320 381572690 676393899 951824583 726814843 593403807 271082854 759456968 150795323 913234528 462955619 311201242 152841795 837145315 790500892 448410597 353036497 960545800 559062303 478794389 474103971 456149293 252321522 936147289 335535526 846254613 374077965 709211209 367761006 405426466 277293182 840790144 434971646 368223459 294027398 823621104 428482507 870031002 725024078 468236468 854391175 671827146 373455403 794437467 402635208 858714855 961918492 546117631 246099964 608595280 341030867 870551996 446770610 579805358 291086031 759098637 554543613 220416618 537986297 677203703 213189338 811749005 970271442 486462570 497869515 402759076 692787862 545830488 121607112 783404192 245516885 384497068 838112816 198199731 691237803 942765499 479375042 509476647 352638202 848476512 380062697 940302430 833837820 777183895 963902494 783405011 229530456 671045174 738836048 636356227 419755499 693394794 728587549 811029127 673730624 623309007 308582086 611588949 968106046 293103910 975373292 128857377 120727182 891032926 714230674 557992437 299967515 292669641 828913501 229047398 808466427 106855886 423221169 855928269 935700945 365661407 541381655 291756181 215234696 667904436 829779935 991790738 679751484 609536676 762269848 993714464 905998557 127533203 784366651 110925695 625935830 304454025 240948672 703198442 376437829 810095175 150366742 491252881 649012689 283634056 688502813 802712476 164999644 703012107 721292492 662894818 925357066 130824353 934505551 914875256 782251556 609328177 623829948 228460367 379923674 477871972 400197026 636147954 970556081 479839194 445609019 400854874 622012466 852928447 342380403 167991394 692835831 318217429 579052089 298184064 893853746 597712123 256073672 139997916 995803073 417914199 742265599 433158710 276196903 701975109 118526134 987797390 192820312 660759869 902678305 783341532 690200150 506595047 730262357 572972170 542732862 158706316 788605498 438323211 600115502 789545832 847530435 533670222 190851405 265599650 712863492 130704105 940618855 498001008 566976978 719169426 712415464 594485963 993486743 762693401 236525922 867145473 276751709 434921657 579626686 631105393 391519798 718723751 447507247 993478151 237796487 125063031 799671276 809578291 934258911 471165224 425091761 237406663 425644449 121241738 956732403 703753581 960915010 717630106 410176400 307746464 387322752 978147995 467582788 992912219 856095863 598317124 354490842 143636035 793429609 672214718 292898512 217168224 516366163 459150540 917219720 832907009 515219781 802202450 141048622 357443345 544298219 353730800 726599875 196470734 246582029 806065714 191153556 726918806 523891214 558615570 129167395 859331707 743049821 279965458 981629139 130872379 956368810 222311220 373510666 435233820 849258438 920779988 839212401 407571066 213463926 704397334 547452406 797555856 115661519 535695343 128380193 228351239 361012200 690528353 420443822 721744081 807363614 317164361 929107599 302462705 210888162 293525580 739464381 317474030 484548377 219603968 815045261 307824721 850552861 724193069 897115464 216746705 322434815 374558581 907256009 905857634 377269586 839669439 934063207 691166299 788224681 141407356 634834672 679469197 647906370 498870279 588793607 828882189 368630478 439161408 272015022 486684081 584047486 458767571 296891578 297668035 745997970 308379826 361531864 744136893 343881009 578821803 680070921 498531970 812782479 445297288 240760596 766988231 947458434 550159355 864053597 199200374 290517750 815628392 328252187 422877114 993005145 574925147 954977237 718120196 833896461 623613231 903308723 782377502 997529046 224469402 461378678 845190935 972760263 196706803 720615582 316538666 756756539 527787771 598698727 971872111 483509586 890714082 230514242 666561637 761106717 120730413 505008921 887739514 994826308 531482552 757867562 140175978 571218992 619510177 299002420 194148502 223614584 304843482 131058071 503860948 907642290 754739778 841801090 943829761 303602366 862786454 269735714 729826383 532222001 290092191 601667394 453023151 267961499 275389947 446207001 998152073 778859070 388502207 474111340 644897908 640180276 475779578 446989515 512418845 830969074 882909525 293189943 584284032 535024188 504761626 593039247 803895016 457140728 425818548 208542767 315044937 374827417 379463251 313598017 866310764 524552815 468772207 919094416 417699322 814409948 211277999 420756382 854597366 549553770 970829120 950365988 131949918 885820741 433458013 849455598 336343270 791057125 801081578 285498260 807193028 650720270 621910000 565233412 987557751 943512223 745249733 221758428 973239053 757131474 590194468 259769621 126876213 705201717 328208321 307478652 100553218 354822336 246513371 398353703 136504395 861903119 905442649 537478139 909295917 585398881 136502909 928415829 738755278 278442905 975356807 234053804 759242041 440386307 313773835 920876433 101934037 742432066 401053802 624487149 789619413 493859987 316992694 848251383 465679904 813032050 391033431 883239797 572299838 933449709 188169177 659500133 261078483 302184628 212179008 820270680 516682882 231857272 997513522 194558155 574110850 378617146 944322907 501267234 961510508 822445211 474283000 193114298 429133365 852746464 450255558 300806066 519925585 978575258 228985331 154614037 832790467 732720989 596135151 601776660 506999634 930506968 246398769 556332599 467973818 855145417 449422130 817046966 149469892 285508712 647829364 651519862 484365825 611362481 318954506 196150965 639207663 220048862 899399874 570107520 293355535 439751673 383226594 553020121 155571507 667700472 167456090 284269525 172832391 355085679 968777289 746815319 178210320 637778722 747530549 193745858 554012617 928365805 195934664 253107270 968795068 627879875 907152589 294200756 342201170 148552449 742432049 865680901 229526516 382816808 838631823 228316028 334880661 416609001 377288996 576493274 259060767 400349682 592272793 938798795 433121995 415197356 380503524 879997386 685182532 271785195 732888406 717145840 501544076 308174098 297263004 892531917 170053835 671139205 613886815 245311721 341894854 434103745 402485627 814704935 649792797 156022559 982750764 336843263 466081554 370148135 546309074 786483731 934156482 248578485 930989354 731933354 996814542 963875970 280199783 464730885 400164439 623398808 236585518 871063194 343808673 732857373 721579011 337686990 101928734 434072250 135846908 328452303 435236216 333972323 893868900 473244210 936717728 209643190 154841072 573245256 453101453 220948751 510224911 766564434 317482094 811224732 169464889 201626344 453433571 783772112 461685637 561521792 558542727 295070559 905301349 389561653 754515342 369155987 854555398 100964369 642654902 439066462 419625571 811216490 269593582 850624046 883407693 436881852 964946125 699857903 961964459 236837080 464456022 118975022 283798701 529207342 912259736 558777097 906724644 609356577 566143913 191506784 568787414 221179765 368917394 199670638 874872878 233617694 393801184 791986974 298600474 986390172 990056187 738862506 462144524 549276611 588250271 565343052 282611395 795381952 705713770 394167979 962147405 185835321 490040384 993941208 123635782 934733908 120998416 465898072 426273986 807586830 513187827 200949062 225422448 702281369 187041540 146938815 902891548 465981872 595153613 855977901 248328922 721452511 636508587 302747401 149129953 920903598 355652268 638707351 202584084 655225655 317854286 355403872 798669714 827402340 557057689 940431853 541374281 271303958 622248577 150533590 328827654 834107237 674562619 921148879 473146630 546899998 226999230 429881958 992589719 826165124 189238377 634856535 876699275 314372124 805195952 552922372 237554828 808280691 127099100 903673169 665794519 710869497 976986490 599042254 280947522 248132020 438611328 150514230 727818792 830051693 343624002 534354076 769121024 768602447 147090682 832434624 815610553 124435200 617669473 278749980 884727047 995960924 146630399 998743651 820478044 393994699 989018744 984068208 425136336 675838181 355063226 393214927 892807542 228122890 499472030 411616345 174630536 499510217 190213230 373246104 213802087 257156504 338905779 378732723 301459281 680076610 290386551 665318161 398369580 149228293 397702895 789596381 462072346 743509102 453592897 705970114 395093551 860826234 986024008 140800504 558291138 830987394 290978518 321343337 977201089 696001861 720826768 447291060 167037515 491968980 807500609 233293104 215275359 864656827 242889598 886273942 137008933 518721559 856675665 880422575 337792975 503811955 430100027 879456757 325842437 511603858 777693579 617876848 802608582 268112248 231380065 511999434 195873859 938510113 602450805 724740429 328106281 488074339 671629521 153584235 846362365 929149564 202379181 482371932 858115240 818952479 342254441 879807821 348735910 417975361 618531946 929634036 712940236 600717151 680887299 552515984 324144992 600539347 193184617 601523067 175944732 788320671 497550097 313369742 126471536 510008915 704516364 591449704 995523585 494909288 986955416 438848586 930678102 957011679 283947235 307353420 502257480 345383246 195907157 622192674 316253971 143374309 839783962 269357154 167305832 824750501 557755799 960292006 625762360 764204924 561689537 180164081 447419128 261647118 804511975 877840883 386299338 769449410 979130659 983106574 452398333 267569365 458600988 695337915 188607178 658561057 979583833 424345092 669635325 819108904 477234292 613439491 941177626 632218121 644339898 453387618 723204056 774221471 493321087 461245778 193162559 783968373 853753039 250231941 264252416 277246501 750953829 567220200 670359240 840232892 310356476 120989149 560647448 171393435 491435938 459655507 275735838 826220896 798496548 322472082 541947091 418911823 638161649 596242082 833534259 900536239 551039030 938856651 802442039 855547682 747806760 643358418 961665208 513241510 348932486 296234881 650493376 743869994 951281441 512193910 263155681 911187469 466999684 574599114 630726452 871751751 486650200 954471269 282349339 530570150 688011207 627314539 856020603 809491477 542543256 530216176 547220458 432775344 373121845 927152541 606678197 158607997 159730324 952342336 811726286 464560181 349183677 709639316 350821817 900090334 164812951 780964109 262197848 187962861 173098383 406525628 835328241 354079408 989143350 228013572 567944953 744666080 708387602 363339488 422537329 925535350 609264371 478778629 305949569 123268390 319332448 146602915 707450105 795539142 799263262 275436609 517835754 146362636 168814849 338648852 218085619 992726017 416961907 353375639 941289264 914830221 118000409 975021258 491081786 274751967 977805236 527562033 144645043 820946604 922858289 921922051 376030384 491243266 781308302 975698790 976314674 950375091 347268582 601183497 640428508 741962895 919842103 460378429 760759207 397364756 706884550 477239431 412535483 309575112 569043031 157732829 711636719 283814408 771520115 265347147 536573061 972256045 937719528 768830830 623676841 906213661 557274115 933116492 945559771 965993359 408394846 862753688 165818080 749771223 106746556 877538196 656009250 546689521 762958653 426640209 547719146 417956318 646018498 647889106 182328416 143467568 313565488 579850553 937090969 177073539 189332562 627550474 975261961 932337335 897263252 222181930 493403409 792169465 745574876 163945747 280273067 725882914 800123260 485273094 400617611 600233930 721446159 182519380 633626070 680355361 352831884 982122833 745593190 341706545 185648853 709640954 783342206 567638382 487054853 684700774 561883427 743457326 399413964 725285432 182219587 530193185 189895520 878178257 320436983 426946546 960064315 885067707 222036896 516804741 305578838 896145137 337074829 623619092 424111523 899808825 247512702 305967653 492712126 368518665 275106075 641247426 845514391 663241886 374050801 478823341 612165271 437906715 836381183 712170267 324534838 204989498 322984693 506134924 907180923 469097931 517577090 404802611 111414848 830704427 227489429 417337075 689638582 424995259 839528758 457127891 275802688 208053376 821726243 581422027 150590612 910102411 491323103 488511288 165948991 642206066 636065020 250223167 363305690 649521087 145173089 477915513 939607269 415234396 307596196 838326087 259375693 770819473 562776526 692721274 792937628 761855100 448082248 385584685 303338082 761612114 846899130 320710246 717020319 656513675 586946899 309844427 612487484 713450337 502279442 500149553 173775177 109412832 226368570 180735035 564937548 921410026 779321716 900562996 810478749 256497759 715684887 485172007 996253998 273282720 713199578 839888353 146560858 563455079 355541541 382632829 623745666 519367575 634913086 371101904 481098828 670756718 140184658 924355453 924346855 129328419 123861145 358611709 147291585 284978472 807197952 289802404 778856360 122430144 143592373 416659389 767902088 869968445 146576300 852997906 568142998 469930925 789685281 323697205 922824734 351680662 530495480 214283593 374306970 422472781 985462944 167703350 156222239 652741886 673284153 458892524 958943042 192368457 958522184 391313125 455899886 971947325 542469783 414318597 179282087 324267148 252289213 900735933 713056520 608175265 897508661 288039333 101382699 135482577 143510402 859197591 862506263 158764515 511995894 521559081 633320278 100796960 545701546 203731543 701095504 428776032 103538136 562444234 997687905 694224189 969946892 936282172 284282208 877551457 228386934 944940859 418807333 202879492 681052402 523315331 313549806 542820065 336997929 866628775 771704620 381347098 566465139 663330478 912799722 665912885 330614303 829848142 690335778 712424495 125694923 741076851 213195630 138708366 813837158 183867577 514913387 299186936 632673820 108884931 844586319 957131242 434057175 867983541 668984982 665097312 593716196 459514803 324863194 986182441 520662397 669710285 532119074 296166850 126970961 926770266 664650682 394256799 501877561 637408713 792237542 910932517 771135867 247313219 688257476 958372599 236409269 972504077 791499133 627756538 145539950 864817294 168405945 564488221 499624852 969535060 821155959 828732680 311205093 707517545 132096787 779925044 585067972 921873284 202118199 108166900 251063114 515389405 817883141 133562299 683701704 781236690 373276686 292762113 676820951 503390715 486147199 532496808 471214851 599849988 368986204 413443876 137113237 670659821 580982483 104668545 519429407 628503892 644135842 927800524 667762437 137088048 915605819 220804770 219460946 668621701 464541261 626899586 662438112 313007427 568134402 342044499 995816865 878649873 236032907 839681784 688834125 203039045 383037146 198348148 616981542 237663910 785613720 273898710 446939718 488203229 435824662 426955184 492464991 167653925 884216899 379154773 557437535 346825338 465581628 931625435 875437643 826199430 534674276 764883717 324277630 843812133 104079816 387520913 499332809 364063648 836879506 518863415 530466844 899241876 230667203 249287858 196632628 966118254 812579942 685088526 730249822 869063736 545095783 965307762 963375946 556366474 470526762 475266169 765876959 592896853 922873791 996288133 584797291 389881446 535405095 546398372 970333657 396080848 878543305 380553121 826955500 742641207 216168929 816482878 884997047 343175785 752289538 449453623 799867292 672010252 973079421 406028919 331041419 239734774 521266942 906917455 396500581 374019240 234058232 310524693 581133807 579996115 468434984 339983608 872764477 599346278 862393383 541942039 355714729 888416089 653770994 422157334 833935768 906489500 427889118 184614905 887483399 391525974 525236758 607828883 507485927 771662157 132443977 563332637 149933155 530328236 150044120 640334562 278461715 353082057 273869352 401181765 476234986 338546969 159459805 898368519 167256502 846141402 473974422 956446681 517441104 814423386 352760305 633115905 661935449 565800931 925657736 454730289 231981582 996201211 159014020 302164894 997915708 954498691 687709836 904279483 528138644 779030783 698371853 613231752 300795966 122392445 550123937 749259315 544427783 869541151 689736457 795102767 169466489 448394897 738199117 728857311 362361317 984886466 538659483 374523498 182665157 650776921 653219908 134989905 504049096 252360091 304986945 731017846 662573550 675302093 325938331 541829922 570374815 651505907 854409540 634411527 815249069 179245056 171625045 561666261 918976954 845004706 230468867 803615378 375573828 255526326 493545112 136646753 403746367 939871140 529243705 348803710 209422481 495474366 152950972 816331517 365453031 160584761 777534543 736091522 478365283 427259590 145980143 742951377 197015846 284132017 506065095 826087874 672213848 186170285 824156528 528102636 827339580 349704208 149164154 707542858 822889978 916024318 507224775 233001855 793397588 198310880 724784969 495119129 357729240 462138223 832293742 280654939 542106724 604377200 971424866 495738653 157075005 404371597 132343026 818998275 234427574 538284057 732500912 611621323 560101691 418264440 277321610 587848133 493962664 314563952 134530892 452501708 156137058 262376013 824727834 866785775 838836227 219711563 915594132 231375856 518187403 228977623 514523775 192536953 910356922 354595451 457454983 274467971 934963237 602794072 371474443 410906990 267947142 999380275 800143311 249947959 555048495 564973632 984267580 283605750 266916768 102186648 453726882 763089140 511200299 454784174 925751672 907757420 314831594 590490528 841988407 477973084 207777164 852105094 242793280 405515114 578685169 216304774 782350832 500521707 140385752 663465291 189574602 274570616 997714696 189699620 949128372 303111584 915341153 125096003 476502722 440356605 579606206 584461927 570744817 581835651 783307987 862266484 754716197 841719592 358181616 202081496 542543967 276223469 730269760 707946232 401803207 653775227 839492250 790574519 229904458 636716039 688773840 800989424 675114367 628427264 176106005 410067865 809469648 577726287 464451114 351581809 725592912 399000687 526249870 656005092 134205699 626916306 168620881 681935331 465525654 935273858 567973005 276332750 497440791 251161821 114805096 632293583 952869123 203003301 912494125 336876284 851519013 526619783 872761657 690831456 272080143 214020687 174455304 822406687 816220343 448317298 482329517 791525240 365142936 642130066 545301659 745415197 727520154 229201955 755198034 599140562 633055728 693738888 773197416 911038107 183272499 459058655 327457383 379815283 820713742 241723628 156494610 411197165 292421806 423132320 201734628 550528708 359852430 680396944 589465939 803486063 843017356 363482534 646178226 782494160 499411486 570309001 286767234 883070022 538551859 210073912 408400671 492853696 367270208 282512302 732285391 954658613 755549802 764600783 422156373 437873341 155275740 642188721 812431920 582694633 623833324 638968758 235394452 207481145 534384452 969523777 462637972 211549495 203724715 994469061 992751274 841369113 877198959 787513418 215029054 613487213 542253305 261114529 190951204 803498405 613916439 103595319 301071909 297120465 455039981 845765507 561215342 535256300 810338230 897837493 234179109 803630048 696998850 767450635 219754687 703048256 185425674 790549805 902225853 357919054 647617313 555607034 534688583 918033705 367134838 799165872 742037240 131720448 291285782 693305014 382839843 951952961 572095309 178971131 330428975 461214222 427500154 494962196 197651139 369615738 726294126 970289629 140453478 687241778 374631243 695761273 716498777 510738507 531957166 529284386 103769086 560800664 677225536 425821261 553739903 338847173 609056993 378924086 373949080 662071010 141294497 455398283 705213752 984872196 144934380 408900065 129547861 648824578 478863941 366645326 487548111 210717343 428556057 145732042 863846491 119142931 140374421 323081454 604472904 274808946 481562477 189506030 889525719 647911128 479673170 627600916 673006706 587499168 949064811 512082356 598953465 235095015 998889208 513761921 132972760 337082967 579666400 874281108 803107132 159493967 857744912 764460998 588678836 868964801 546698391 324175770 436482235 991424631 899977828 646303545 291568212 322596227 490300308 332289121 882882895 852545934 366554235 263160330 627657598 527525757 812930688 802272358 469588245 872173434 692662599 690532473 506215427 868464719 656707371 227942459 628549942 894766659 988114744 620957586 743398028 130471134 667977029 782077692 944429462 780681512 194689548 770756781 315864257 118663229 303047618 272367348 627210618 990970672 973073781 690753690 929383005 204497598 985344485 461782943 537859891 834978078 660706370 398890255 978512595 400633020 742832329 694625379 205595674 379030544 535982301 804236350 108285247 975183457 950236165 642569654 104874007 284869510 809741690 401779827 434625873 426730937 522334647 807322951 252961417 565145573 885204276 801546383 113526420 732104430 491112232 487238975 745248586 319380809 918498254 267218584 684162143 193455054 992696523 682433002 734719799 232561917 914530570 714661569 621491789 981309161 557952268 591583258 999574281 289686564 205219301 382987290 872741857 469207165 697535213 584579624 685256117 533083363 949618061 257147927 906992411 955561472 988296159 592937310 942003529 792099600 334451321 984892908 732582657 960776597 391219535 635563580 612408775 287262493 356554679 681373679 157242162 510489899 777895362 997679839 409394329 776714039 290796689 985087758 376420811 233786080 188596960 751072001 970272949 647628488 390428916 181554012 806776678 170267850 350239123 698968731 826372047 925695128 670259785 997346839 514349936 647286902 717400333 890704285 620054730 325201459 593709058 907946085 405202620 581682127 497435527 454164517 355169715 972421110 893836155 785237707 590346191 561593783 497494187 256670075 407270634 988831492 516370001 758822022 707163494 143748772 212961369 576897542 849523000 185992816 620393608 801838974 676562903 890465284 889079067 997567337 495626210 296730181 628496567 702547863 566768834 795390194 597318827 781063537 748064947 955480470 168250197 801602819 945874861 898355975 420412770 317466908 322272720 805482758 981349898 866898765 116283878 576155010 333124483 561943976 222201967 621336164 218318416 977066289 333563417 941914648 521370009 510207999 409742926 545029193 330614622 743382017 303511936 646705484 906667000 299812253 420024534 362756518 450157163 600253111 732333713 728286817 186092428 298623326 490751484 441628451 334646737 537589858 635596340 582292807 976138706 921172309 291037785 674069259 781848545 550591427 245378672 684363099 407001725 362571105 193155191 758348795 971714531 652662651 221776765 305447691 664454064 571287158 569447113 696271675 289251952 408767689 910453833 727634271 773132101 136945068 907482110 230809032 309005471 136983891 243494277 291281967 998187370 650126251 162197216 143800839 167039007 239347243 335053107 596113151 397258520 320273613 162042684 765462859 902343003 744954252 780838802 821694079 593434292 662706642 504456432 939986213 493570532 465769236 540229462 414393323 844502050 144307205 893302750 660980138 547569813 582405621 493060836 618071448 207169821 798377705 121882805 556624288 219297484 627102079 629860988 433817945 593211756 676730857 859865787 306937199 887527213 491532339 765912468 846730802 116252375 281832865 144384166 167590298 736899662 977168120 606795272 137906013 842340720 606170816 225433262 595494028 945437949 940216446 480882951 253857761 396676957 661955174 180944103 155922918 921140523 926674527 753447351 585761977 218874075 389768922 756675070 489872809 949967253 377962437 229957636 511040943 533301038 954287343 560286391 129813815 412404257 729265355 853667434 134433087 575969910 435783383 137301203 523648571 903758868 643970171 460730051 186824582 870081168 514651464 466282339 225469870 937823920 756295643 282166135 923992174 850414195 391369122 984727370 139769635 674222383 677799908 557825073 251014776 198120641 848889954 369115491 224988579 897774603 658193487 177975744 310518761 458909524 770417272 166236884 925483177 561572060 522858623 575559757 206456722 168376101 251228070 701139499 659653663 479093977 830817404 181035609 498686013 853256440 816869975 607626455 968089749 181302295 807791241 163871630 878074943 362306031 322400591 738558777 512347436 811231396 988532495 506443545 428032395 163188305 761148499 365365630 226634252 444898572 717489727 772676478 338651630 421331510 616821520 970890560 669201777 499074626 683818190 845704612 837577829 643492643 240700957 841567207 279929798 684804467 390405403 763039757 757714655 517533913 160682530 945155719 972870464 559197148 860210808 529678961 361543987 567249731 658303552 100903694 902190243 777247308 345562937 680027919 700809344 265295028 233470239 125464255 791640444 532406238 725161675 802730122 930610915 151347783 434677664 505071688 295464091 314729444 979941944 333647996 265802933 542470546 854188713 421399074 995895994 629907876 868224281 211903874 512835863 286955939 353942929 649678622 207962944 887995525 432019207 248428579 956348591 149778870 197323796 724555582 990084158 837570394 778549831 931063265 494539131 289902783 694773208 549572499 528523855 151863348 424613446 178377649 282371543 725394520 173528354 663829815 944972093 921679903 768203819 368261358 508988737 800231433 269586156 500731640 831260935 367086444 465754066 677457107 458528765 764501306 121470454 344353039 497821360 656290886 636327304 252610866 711359424 417457078 436266362 658372880 840991082 551665216 171042906 568412337 314969459 577355389 982183041 146810646 833953277 912560561 710752240 918735958 395560007 783925446 652674710 198581289 244569913 611016395 975134028 351544031 280905555 823187498 401747598 616515869 312797480 910738378 433565432 938174443 451548680 413939150 556944476 152792748 453198068 247627523 809624036 298665715 243602607 964135632 639614558 228342745 157650460 632686813 899339837 324373727 452899285 906635375 220759896 855617469 521124603 641477739 305666230 696791599 834088015 256861911 710345270 191086821 574397720 185340435 494702560 272121973 513976155 919308115 978371723 345762365 364572195 568506805 756133287 507106899 974733487 998075889 683712680 181592434 735775197 733209724 988963388 695082412 564889393 787323996 936731876 714769669 785457745 780439194 776863904 199308352 496543587 388309972 787982699 761196988 114492445 456659616 933894665 375703212 608052935 600625067 990485707 761586599 146559656 815417569 579713847 591583242 770297053 704162819 578515773 408118304 857063733 874200101 451352622 235567498 794174492 414032676 621985564 450732527 291742184 133487746 508386371 420143285 279027243 342846285 829724610 243354884 839324743 504197193 464148522 293054851 881300747 572602024 913023979 542620197 538932420 192958480 278629218 862894819 221104939 251766611 548565058 928310501 919014267 819839569 527608617 672437510 952103634 875433687 717654597 288720098 673613631 368362291 296309113 712417855 201129778 573552271 886120105 156408020 411855130 704593387 632973352 147888061 537079790 339537165 499033246 972862202 665120988 704158920 482257950 920906642 439806661 434247568 967335776 352355323 219306236 821742403 476311283 513381448 981269799 130319394 167231576 599555631 809692817 124761128 205514704 751807163 496794341 919716444 410237198 874390240 819376711 101443193 274807505 937558223 338196558 126278590 366825870 780047400 447925952 242446564 526120982 543300998 778861977 774803846 541990600 999767697 164515593 416801624 623780081 206049732 709629080 364667518 196730313 734726516 123009102 624973227 534318079 775005359 344744625 684399991 539397100 203105607 621357155 738932559 833572845 167343439 192057732 339187322 319789763 517731887 745807321 717239091 116646568 324459857 377005154 790531018 459548278 164497336 499140738 481517136 394051520 567761621 663962210 541825212 639568598 445435060 898473745 682859991 504956101 719069673 749940925 863783865 459684563 131773196 485233585 347201217 155811987 113115459 971654323 973417432 423711320 955739713 597212933 238501365 366662183 221577852 321785480 432395708 345647777 425598364 285601443 233671973 440488948 309883424 432956098 522721339 446200453 624686988 297052228 827405945 260786765 866121099 553151258 159237081 426840763 487201944 844392037 926754858 600001290 275300129 553519826 192529968 432721093 953385580 523218212 759812953 132618214 602507036 258801717 530267388 116952192 899138704 275150474 452911378 241257309 791973238 690004539 968378496 646605558 677871858 660417599 778650248 400493760 764458943 848362616 229970635 421811298 836588252 742026908 976844142 364612285 907145083 817757807 703575984 159305819 715795594 969100068 885433827 646249721 604967140 698057086 443406320 173661954 222082132 107277115 267769814 656922210 380661881 774042898 246928520 452134272 317179507 865833355 573991887 941259263 982977523 803243226 305033733 780978259 943969032 674471184 555062724 223413928 736106254 491382161 887486442 570407247 872888914 632965915 441190450 847493654 202664435 960423536 679882918 894458597 579859862 468175686 904068606 285590950 312660489 642617137 416021109 137024825 684508405 568790258 386760552 219219437 714804913 206822114 153443515 340063407 390495118 652809041 328611630 929850394 356814549 216623920 728411972 128717807 628010757 789851771 169996166 340211087 787764175 448695710 727661087 595368395 500667409 422723005 747981976 456987728 462226970 883740477 434046315 781712574 114860115 946244422 149767310 609621048 495664950 679813897 143099693 677557022 786693006 852064506 406356042 939146555 625719428 601582421 287927259 589982003 409749660 939002205 875572884 784393877 627670266 844831195 724893056 981313118 539221695 741924933 302920706 444157032 646014660 310049808 791013515 359729294 282133006 627664173 261531864 299735731 803309002 442878063 307361454 124495183 731896857 295322575 992467362 784068917 265700379 645139080 962288855 924510643 731461630 879498082 949370278 414280251 268077443 609720835 647465584 799868895 852129638 663987015 278964276 348199658 367653423 483005978 538003382 366740048 295090650 121967458 988876679 243896162 883565703 179271703 776143536 783074470 984247723 830359612 632752400 371041831 391355646 466330044 545748427 486940999 739956050 841612661 980959877 143004564 887373261 379980090 796016933 106812026 730392950 346198337 667220336 897255659 443178041 586193124 583544130 393447405 460155012 521027478 144061045 438034353 154079192 270911698 140115445 721358556 677486200 207628687 219071419 346569240 248815233 946259449 521559630 543986319 343199561 960959439 534555116 790329418 510581402 263512370 971139462 596992503 243854247 640274574 963283247 687802714 323100790 720425772 160670127 279065622 970440787 742533943 290129726 407569093 303992762 709874625 747671635 622438554 638246879 225069712 784990832 807722786 629439689 594701875 258242126 208518119 734664153 793126107 818318026 374198136 166518189 583972454 206417214 364874537 538400821 182646775 209119107 196780986 482538809 762676287 127128294 942760643 520499691 395892063 808331006 593212217 342255230 158896259 502879791 478036554 643938392 459597841 869014356 647606998 713562752 829999090 568014519 449086225 919828485 153319666 291901268 134537247 358620218 393329304 861104327 747000028 485792861 358214475 683950362 300859296 320500819 663936479 337120024 628538750 484840492 168099996 949585434 354026241 569763359 631849509 582232439 283786065 485781137 928214282 751323113 263569205 439522499 397613609 880549857 615515041 600192248 723312649 470257547 137628890 223303424 405537842 348955626 617031817 158458198 272781832 747243893 781526414 268942767 682155789 658983390 734031549 740460525 746254813 926341188 576016486 833526672 306948681 113190629 200261613 907659558 420220938 998078505 379779375 650158507 691489664 883655411 945669071 620357214 210393342 119536839 180131861 405097193 257527489 153314065 356135215 268806218 820640892 613394434 771144798 351343987 129326916 856973049 319329930 312038114 348374918 636124757 264397058 561203217 247937981 149848153 919166009 891291544 808730369 598511711 256543092 271559017 754754119 603163958 721694330 701265616 250481865 222114036 356224213 740516369 942469669 280378634 606557034 174290914 336904322 274132936 215779370 764321103 231965231 445750803 686921862 159539910 616436009 475904826 517680252 510957917 792858464 674360575 231770328 741200827 449230855 141800500 767237618 564563374 836755293 974258705 829488643 574838099 229473741 555486688 949657523 429365214 167313040 309592814 903225338 194593119 941826496 347220713 892158068 935755301 973887924 604362611 552542878 145168164 466221255 975259479 209805052 307200888 963269764 654756805 960975289 234208522 428603512 630475088 421143600 448077337 294966438 767107837 979265200 640895745 291361255 260755959 805904764 595724071 580192564 794961385 994754539 649257493 244289034 200060367 481391754 378111336 264480645 602811079 666578101 179082369 848160156 812740934 846096549 841221762 755295235 647570695 598729256 458285418 317567256 484082503 398495453 188182161 577537505 631401881 873985197 921956287 986419453 275781107 466853931 100340712 646615666 708028483 168909374 923721938 820624616 272023827 653360840 371378952 736908515 620715788 322142535 870045860 834408536 563414645 936432091 990627332 114340952 247865382 367559630 197721376 388773430 283991262 785756166 642029635 743051255 923612279 230647640 336778787 173369563 690141703 869322017 355873731 198581534 649331889 853407117 741457317 495217175 162385428 392763135 460206365 202387691 769579309 847013078 363836547 259107672 362796605 610490142 113041800 134304911 852706283 712247593 336676596 987380755 171197301 551001401 844573481 871791390 255735723 784776666 464499041 516134860 521630261 938661236 579617622 764170853 637501187 913463476 114073021 339905428 290633424 857888030 591098411 851150908 287010215 461309662 688411919 537661393 756770130 518080824 892609330 190831802 692257155 685043131 769963454 296068346 431462373 587258886 780005616 873432393 447366881 312537063 957709687 360768471 262351601 586070443 858723859 481086738 308645790 594857337 865407792 139412897 806157918 317555487 655670134 867183602 126891491 995039703 523763212 914782429 148146840 293995630 628312181 993226980 823798749 666710307 586816332 414573023 316005338 906920272 929328953 217335421 718257213 947565215 377125585 336039388 289718207 158486377 989729209 761922325 304350023 627711931 568493374 314435075 549665441 865322083 384828747 226811763 249297067 528303431 480784845 312763208 303844606 125387198 239385864 585514132 167508181 634365976 910345185 819597557 157662533 289010162 890640848 218904762 502781038 253860591 150407211 979683798 824516366 141654018 332985155 815766269 879924014 572214597 999814176 629708797 290784949 521118978 459830122 517744549 474605543 418177526 169926038 972211310 225885840 442985120 724167269 410415521 658636518 110066275 647977766 666479660 340326762 819618596 643006585 485009280 690166428 732201876 674628927 584634863 141552123 408815265 937016031 965421439 793601333 951114304 978648598 888006231 620127544 382687769 622384593 435007095 791269365 241198642 798711177 982467608 845854992 783792417 478706574 303376095 248363963 744469701 970071795 188258841 577600511 318312996 862436348 580557435 379671827 603453280 782512755 804793821 276564612 851796857 846451503 454738016 165565865 622982638 969377583 690532181 557045607 311294609 154691475 294025211 297108616 737722841 384959577 353363709 491967203 173438482 537385899 798429412 566868588 394139954 594859914 193038920 920218415 522761970 328021224 226246672 884762265 132456473 433628691 210122623 837598242 268758156 460510600 667312091 974460350 137497188 817694605 360388095 393222182 983991782 943801599 254575747 809834709 686983067 986879785 778590865 174186621 757853581 739580121 935041684 919121377 941640532 251138003 200661527 166798086 632523579 263899450 969821751 621613575 660937755 515508033 104858138 589883831 855743635 812217846 485769862 100965720 156097256 151012854 561881980 843069456 138998097 298881632 409057141 793972282 547518932 923977076 424080056 625405275 175107484 505953369 938365269 774697885 226717475 590751368 636238466 450405512 266604229 516299226 469452235 979961004 625164715 572073500 815555555 584210286 585567796 267597844 622909336 896014761 934708973 767003165 177872295 445853907 131413780 348527391 807542850 824087666 347781207 832383360 662754054 359396991 899150237 352415072 696612699 119005149 223754605 326845738 962141904 632206906 997154099 311428811 360684350 472444833 671477091 371801795 224750114 463139122 355176351 413853769 762333590 481310624 788592319 435902557 997257609 354078274 253087926 175404479 437189043 737323217 699020384 373421066 337295058 289110920 952738184 545836732 782397563 207038657 697770408 354140682 650957009 123335122 365517166 246414908 892245904 912071081 859948368 904333460 652864741 502994369 591972879 284451725 550057035 669491598 455761136 887527644 396250128 381349971 572786366 889223778 609304556 649330548 593678389 655461333 299902040 812166682 720529594 238587688 527453506 416188639 276813137 737956591 583445741 519628911 643091037 559635861 389445331 728229525 141933156 575799825 446882165 336278289 750503508 141540291 254166452 418152687 317916179 555468858 902980000 664773783 141310398 533840858 303080721 790881015 338757380 203850238 741785643 298502746 418994507 275404713 955941898 601521576 647493135 230181608 160181763 532739018 496224162 249578095 471747144 940224764 101712270 214395216 740919163 226235216 422613730 173870491 282793349 665512766 937975345 981480175 239987081 251978888 506151711 836170997 827048899 731209342 338763936 747842797 123209507 693347386 349045784 190321129 921142720 288498756 315411151 912555351 700716790 998977661 236561347 222283970 308860070 964431380 379783377 790418560 760445697 884683455 606968693 717620275 477424573 274343314 521717284 444602647 522951127 792981576 727779599 141206645 350089858 577394290 191094375 679638060 370788071 560675750 326790354 960831626 422184210 955799008 233963409 705324936 289718227 176298741 166635867 662912988 421213527 259906935 328501131 750561939 767688973 461228354 173189396 605467299 635181141 911826884 377720663 227193819 167128874 719425039 121083443 512506718 640382788 771336188 882076221 931319746 728107617 385355089 433505246 454045408 119777195 902846284 582622562 276025972 184621550 243808132 431318042 715763576 816264332 585147995 764738358 953876052 201153598 796395232 905661056 185412557 609916071 708234557 985243044 133536952 792319501 743852482 327845452 307126333 894037002 192268946 939436821 935748072 502248097 517050716 965693935 938588490 926157170 271369532 510491487 920974198 950976292 931317828 122319954 126364286 353771637 294102267 546105910 981998288 440430242 932175838 230162152 290155548 251492710 433653062 566226406 252040282 933131855 398613189 597718575 947012914 551255079 867633153 324038341 628735992 782207076 507250801 529253690 154817314 155742811 556744769 232758854 319412900 759960937 438260830 452152542 275752302 482453051 245629396 316302948 430926879 471605567 355822090 644852856 665058107 146417995 291164963 769377225 559097524 806343274 312250282 300656140 628860113 599728974 771381112 545493412 375815133 325755283 451969769 793084736 904212537 361575003 998156132 983968931 572742041 972199273 240359952 410958259 125319153 909466553 345256373 608778541 460407575 699465612 822835646 768237471 198460459 636263709 737767087 484434513 825855276 782484536 467434550 827948548 780710566 576054431 379041245 375654962 190712713 244111498 472587572 560327613 150237781 736751329 509719381 633881759 371862444 244614467 661247470 266834267 159952085 576701536 517408517 384771035 533003024 835314754 271668449 567398343 899245908 710528194 409747813 713529456 639549331 873678905 151739777 348566871 750575916 463368149 584951409 152165606 665570798 414410537 271749859 463481199 773607536 686166110 756271077 160846360 325935230 613796525 420221323 649729994 245699708 553844883 267744615 825701686 221216929 876605152 894007532 219953365 708927409 629740911 604823732 693518021 125719607 471101199 241565841 723718289 265317750 374111260 350389229 786188536 679008403 207017486 702939267 298033425 939396847 511222759 518617964 288994304 169638279 926540008 458919791 317743931 820208592 940661277 627846675 244049633 704300911 859554179 607213038 670207942 497064905 418396218 306314377 532837862 766093144 825129098 223444018 336402127 275453157 107754229 253002520 254688925 315449603 185175760 758949531 489239773 531075302 411842129 995315416 464367431 604745600 677468221 232470705 545228172 139120940 426310211 552057792 213451667 980483425 170494645 152144253 908488814 377558885 742968830 758344817 921497323 670821344 967632021 297364684 475419637 736167342 979680436 432185102 857765683 630923119 458687438 752347917 609552801 233441102 716918139 581812395 505630156 718973734 692275710 779980615 216249600 888221418 438544695 159040550 844598150 281906611 806279461 841160325 719231458 266560558 153794272 821840655 158216323 894362117 523942711 700360816 489689309 906752744 561911578 189660032 229960620 379423983 149058590 537975730 732580710 329425222 936303807 746716947 826317294 945790598 319232338 697831350 254158662 373649296 629017542 420128868 850589178 104331028 446850078 381935551 738559060 631239863 868466457 385685814 708841093 293821559 501020216 920726831 798999596 903703597 373908301 763948613 313037739 271302734 857174674 792684523 433041054 183474371 957939273 199673187 393333588 929005165 463578595 818333244 305334533 994509848 178665586 654766290 514389101 839171473 968767394 891334210 854697847 756657993 771832444 287516013 265305322 541327911 564120451 962689482 160390487 224592354 602438526 358494841 944085070 231025896 416379595 390541368 643850660 699573394 642477188 925741110 516250772 541488909 296505485 845038226 251377572 582687344 253545955 618032112 747149128 810889444 548380708 476963332 176070375 259234384 713385080 801614365 273399754 719181587 626960032 644326016 499763306 763557608 556700218 588593198 208135693 318756815 308998292 634516171 823128569 151923449 759946175 170372547 998396699 690476043 783314573 327086560 405574935 621199721 589263730 615107441 583203075 418368153 960233060 674354334 832813927 992024178 974306991 347638582 724307276 764426236 214391778 171951083 377912877 782475737 239342539 192037286 482455109 191624324 218689557 579735842 562061932 930521320 341360027 781101884 197158708 484333867 231933300 474416541 155738169 247956891 487995099 414790585 625570029 461413848 205842633 493591608 877447732 901201392 594710069 775861553 674585279 254659593 506825277 165099806 965574972 571016975 125272253 691594630 243418976 333789610 272858406 115947585 974417476 389313396 180080149 790620653 176175831 214977650 850168226 305745130 503308183 721787473 666760843 139902638 163835455 382579709 565566524 613854802 110075011 227406746 153023077 141772650 615668558 566976430 130066775 880238188 410561547 286795081 551979990 833573385 938341715 758802266 307451997 247756885 720231751 825900875 475737024 285255810 942379966 280449666 473263778 649405758 463176650 928951617 963788672 261398272 851850960 761846903 864235122 871933097 168912725 450685518 870068444 567257834 787616406 216107339 655925269 838401213 620595409 142964633 301101168 149471405 664813018 250558305 228399766 846822483 794973201 527316072 277755682 729409077 576155886 535236467 339008135 501044975 319468498 286298052 197677853 793077793 716653049 947180506 212124738 408297127 189242674 368151715 970175764 720682559 126483827 871099170 146309126 419056408 159538643 602250598 310873945 613193891 374723554 352836282 382545124 930991299 190085392 675340048 622343102 523243550 867556697 449601401 177308504 786476782 142362803 840089190 302755246 429889241 768359993 648107492 400062010 502908492 236203761 217969376 739138488 774142231 575036776 262431831 127466070 373048076 652259470 620731143 538672368 665849477 403202336 143206065 439665320 390880970 478219434 105098854 306281985 235708568 174005068 389748742 381367359 868980132 351285663 282354923 454213520 716651190 930423977 717802302 149358871 276723535 408688085 151257805 820628447 396365054 289789635 122759213 323664987 843148930 292128648 212774020 271086644 118334316 758270531 189614200 912627158 822894673 589701066 627757484 921917315 330306565 840584843 884566601 568264024 371065858 461201113 498465434 717362759 650676983 754910078 447014226 119637402 958901655 248871009 740149017 553949650 566946301 519146522 545178792 144156351 382862757 663362142 103404898 943916431 813734816 562221924 840593363 693663585 333295139 658604471 104663127 544945182 333895274 373289281 944473330 933830225 920932795 148082194 172316511 705719454 778038762 768672263 945426748 481273325 672385240 570544565 417119032 589857401 368425432 782520711 992950576 940160845 116511492 634145635 859871519 477764040 731014783 390500758 347344989 936922773 177454746 756580010 121191942 279814166 656219314 495744192 181341528 276378696 701775920 506093011 880399290 352389789 346590854 513069677 913076401 883308574 519758914 651171712 185799844 671372916 861838086 843093824 358592440 518572716 141737197 941747382 300995834 807743760 704501471 777404341 864740390 722285925 901159348 684671306 905083622 800695260 156334715 732871000 517628438 331797302 514066837 283966608 162482840 947578907 837113359 822240256 536084007 471216609 837009205 369558927 135873406 331328338 786104101 664426736 409554264 107811258 709370568 206222448 889579572 152824112 453839331 617354235 213038301 403790465 197234674 941645706 847583382 507298060 923458227 363402884 688824133 361699277 229168401 376312930 468011849 163854088 705067556 930719400 568488361 448302378 624750220 535140276 811621073 522405372 597147990 530513996 936144785 171973062 706151480 584880421 652647509 683044326 155427167 286145888 192404734 311054494 236058520 984789389 796164110 246812932 438708524 771350750 139063173 874522285 583812294 622390052 174838104 229708712 454002015 522243564 852414763 864274949 448103422 173222568 369080106 821713863 273899056 753170713 735189207 913115014 345865469 623219460 164890679 121906861 273574445 915055432 607400717 143066411 613224795 732363720 726067491 930668081 116796926 350847299 621993420 222541522 703068509 838499525 460853775 680814696 962237315 626477799 375947725 641069110 336901328 396631448 577167058 153420030 926389895 688157332 753649585 905886778 644277055 355514109 303035557 730216529 316391421 658209410 787737410 379225896 501012261 725126596 152807586 481984666 209232827 698323567 542507781 190494336 385860578 665604808 325377922 132007066 821293094 762437226 960249246 785478483 864710217 968824858 660839217 140997120 777319196 184928531 297518034 894054858 264522950 938273541 452970897 194854791 280563690 538396681 711184454 342211045 124764943 985073806 845974490 174842390 765840467 296773268 378569585 480527057 905149197 192764256 853855714 963792798 235507867 132460054 523666781 374167070 616737232 872784613 529759214 357394861 659735428 745297864 723862844 492561145 644849642 143141629 870629527 651876977 826547419 132290801 130937191 268308794 841802610 280790529 250600755 831335467 939444272 803722344 971791525 257803424 194173678 567242397 325671334 822674896 167876476 682728049 179742660 520281752 144515270 779988304 156757490 519552628 395468293 600727880 893536165 208484284 517541015 894562186 711246878 917449611 524169614 142628019 762093493 997346956 615899807 390022854 605271537 518198851 256724802 650940838 850364086 173058070 899340355 335319241 738890298 871983386 917061891 756905808 185398207 624714776 848181980 561940222 489397927 729606563 850926724 808224581 946919436 320212874 747923905 301837630 602685877 741969600 845676007 191915685 483031701 209375070 110191409 616658402 214643827 779165236 199641916 320445668 337110306 244259633 652568464 408587075 197215300 150313712 222998414 820983376 617609761 714798189 979912343 444394532 357910333 916697960 439590813 975676435 381445218 689444479 580836947 735952828 872317791 365062050 948461638 450418939 630428363 788230343 885235811 943581835 429949944 488153633 713099065 339906027 101507393 661311595 352795408 824962674 964897346 556905078 688516273 558801218 211554815 359888477 412302106 349109886 535226429 664284814 423176248 904667227 464572435 471480299 402144650 794207701 191253932 467321765 730611584 921383091 383958649 534534851 331832732 515529585 870363970 453708306 201536633 980777838 350265668 697562244 959279206 669617646 701740491 758881403 290282294 619778176 906266062 527536810 479783842 588029494 127813355 865845783 760623179 326983563 985318935 590693177 512271147 941363212 168752065 892836610 114734615 729108036 810161271 243256538 952885232 639617423 156210000 193143914 667141905 813375423 921612706 766079788 604502553 280181963 790571244 360328981 414419554 783791301 369580757 928543696 360152279 386007966 338464175 904896502 913090803 489789730 498635537 470603695 810599626 652940578 115376384 641540093 475585864 808754457 462264465 395749868 603528404 282190247 459421771 576143050 214983284 587153322 195653710 990828590 365765056 420002250 392723537 518499791 515541581 715837879 165505000 996713376 492396213 379674691 904049781 896421142 886810458 116473013 460261085 419862493 163247126 782733363 576562520 207658576 986770152 678593879 114334887 993502334 424521042 263868050 109586516 201179573 989740360 640134184 495589729 470731502 696316767 759284823 809634023 877211304 594589897 388752234 604775529 830078333 847709528 548646707 376062544 491226547 484577141 860796584 574227841 163429436 218009633 331719122 418662873 873266412 684319861 518546894 695229499 140181750 102200397 888215983 204869151 646903373 929585830 855030608 107417206 491080341 374065063 208818550 479791276 130345010 558217622 400637940 699404063 423358459 822508960 705529220 352609282 822855396 665602090 225204955 995142599 327452863 866377931 101199601 426456937 192000102 123912572 310612946 562279890 769102882 978567022 456571748 737083908 406301182 269642821 944335221 730370222 146987150 586964915 749266283 688801443 518393262 103660570 709551401 755878459 664617412 285484136 914685374 500042302 459612393 662977898 359445523 869456813 376207693 342935669 716345947 971343983 555171699 799880783 196174654 710430025 613629915 740332725 929190117 240601990 683447779 579566137 137464498 577215442 917564866 904234280 830285487 912457546 535395442 811071632 192021459 377379113 703776474 585264576 929908828 971755601 952580503 412885950 684355620 317644310 628373491 116091582 291405171 213536693 450247361 150855280 440388587 777319378 215337978 284060433 797153620 234799525 604781449 852627680 784777118 929377663 529989648 930722397 223880153 224427448 663091444 737631552 150291240 112788802 789881979 637426620 515194383 162766678 283063324 609191859 218402118 958793906 292492672 637078404 135769555 119477871 900594653 239239422 307342221 500092737 770731978 986938044 422937339 861796744 932909533 814680837 430822209 739136128 255912722 731206781 306521951 496406470 442556832 695610916 371563994 465942647 735888505 360455324 133463875 897867593 556721426 270359035 446735430 557486084 207586380 484564977 250581921 854318049 909688701 984016902 535335866 777090326 511866883 762301760 920007340 793228070 734490876 412043349 115980023 685952621 300237365 703412455 648080494 643689334 752170795 337141748 337899961 461215980 703122050 124767915 736791150 683174914 153292916 563398983 262200493 470894143 208082722 277600489 983275390 318736804 427126098 721575094 560787315 763017913 367061622 733064967 748916796 735784200 764948184 287887756 469913081 961191982 237864473 508067887 212595424 946279338 738163908 494672848 735960857 368321327 256724034 231315038 765642269 869045179 633549707 486232395 780411386 154573478 179979656 765171562 413664346 302638600 906826129 686983178 471481574 332915128 698880017 314782801 624346169 958561925 473957120 679463451 869392362 273297382 442004986 444678737 670468874 511559285 322056108 463840028 754840466 696612626 246383814 618341689 604875091 926760957 129351815 884328545 324953623 278917578 901712750 654316666 809309923 552242408 707170561 453160118 467705328 161124378 637680284 717797374 224019264 390818974 221180639 958809274 591414718 535265355 588351516 924223150 383313693 109673056 108695942 721036101 303120031 224466024 685644186 102004981 997351380 447977310 231952696 214038616 320848035 460559747 644509384 522092239 675556275 718295949 241417641 475998610 919703650 216657973 861858490 136814947 431421259 542389780 965834234 678822750 592783925 812360942 709003209 766957691 551446924 808754797 916207056 386876518 281984195 799819370 988542074 704468482 464358015 107035971 727796808 269749403 431560053 808299121 685338446 306933615 782179712 320510292 874388584 918883832 739705616 919182203 569004693 960084722 643889038 692101134 611136615 183327543 477500493 180222186 942757480 448047742 541754229 531167566 156486210 555037331 867729031 437777361 878007219 561569198 150939886 778963249 695410466 735150379 227748935 771878707 237111391 125626420 740589371 278298285 569750204 522631524 291708943 167057882 995305010 716713488 532805028 875237174 328754525 173722421 546173890 921799305 872734187 664351458 732428840 226339166 489210256 979781303 766271680 452549846 945288731 405545479 532702875 340244002 439575393 252273068 676981825 108491124 100413703 124333767 458017573 717848506 822756095 343902319 254543261 729379125 454123812 543205064 292398100 568501737 613668239 375234226 658352225 996627667 833229720 545924267 323459666 691045595 188339090 451991613 706549522 524411832 367316128 208005028 988787462 392201658 835137962 102604980 638372750 319589871 141378012 491360674 942162228 855191632 640103203 832550210 332480473 231275038 753028114 843218048 279357674 861182656 886207343 896156451 631535317 739767810 622626524 883644226 333698189 221190826 726767766 127884852 278307671 193658306 426590448 733936447 639217366 277219714 572073896 840074294 604347279 856077339 657311134 725180741 929864254 359083080 748235687 837839771 167522043 236708797 286349162 373410362 984143140 680824669 930992386 269387554 144591772 196952531 831104259 254711575 540717090 624779359 180436103 815836378 358870375 135351471 353359436 513770430 601949305 532068098 988783200 148901600 575078630 864455271 508923402 335610623 768864626 326758474 394534890 317991736 745326058 348151247 131627084 429186276 436095230 600825244 571429434 207739900 493755874 163062338 509734841 308011582 773670167 378379307 464133608 274071335 502081322 233870960 536169469 446238502 574512433 792856695 849351959 990535026 107186391 346269497 101780066 790126486 713907864 107558189 935841767 523891701 820691275 885073492 871166184 525957134 820865552 576522300 791652238 596630882 920481960 783146644 875407742 278722946 873730684 763302270 232477731 356878936 509266348 312294641 162937676 538237111 542111418 560705314 409421211 394497367 379686603 951555629 659241194 884770165 410078465 137694919 177630329 529969092 794014165 949494602 949420469 785991446 432823188 730004175 822983560 303271758 849965509 319615566 292268640 891156453 578365772 943399814 918473305 459499224 972430482 239145929 255841685 345293005 146545446 292801651 295726939 511456994 681095416 774338477 703563656 899427972 188876964 625096446 899759885 594643683 160833440 602196016 749980809 890582426 763767869 847792410 816653320 598451965 674806208 820687197 131278286 592391151 428693182 525680649 558928114 365539905 819231379 516687198 106632797 471891891 956704648 332393403 880132995 920375664 769897574 646803977 683796569 350884207 291091805 691107279 366555301 319122628 452609246 723585940 355992320 745664183 655785474 172585777 638047151 609919259 802491381 745693709 357132754 677898866 504531652 728391100 167038735 465873851 760106003 728754493 427072754 561167832 635111418 158381999 306089489 338186406 720939511 429039673 999998958 164777493 897001288 944916607 383581219 437316993 352141786 899629760 746546119 958693915 400376018 186670677 820396778 423584309 611894671 259141053 265313777 419044597 473221894 577686966 835020247 133220320 717697054 796853828 143813691 711532592 772838486 145161567 548293831 648651567 849942636 573736618 215588169 825522931 991884800 789582076 873219586 117976944 871580334 559829092 678474732 919815112 501401999 970292929 779608297 181092145 763152821 504862269 313577161 654961975 758426027 711768678 786112339 280954729 626684412 355160301 507847003 450064348 384667095 502873483 434143832 829040173 914053669 188765462 669912742 494011699 385333619 240272232 377563978 893068086 893831124 917408932 296217954 479565478 723063580 266461853 153580660 989612274 674744079 587634069 732637009 100272223 861407329 943050429 336498463 912875732 277206624 275592412 563394024 338245891 345207626 239246187 915365525 761609658 328670194 301152123 796836077 208785524 572178328 842633905 577811613 258327249 845084760 848384089 507482487 682268581 443130914 945934178 561602105 839092066 130987302 372144292 155375942 419960124 200736487 515000105 276028304 974604600 793735796 588931283 811611625 503190310 946827970 883127592 905013289 151320882 511007183 906833942 593494826 486160976 558312223 660488989 646758520 476026404 749842336 168976150 570599277 751905830 582367883 947957630 856111737 802807176 942120872 772817182 696884183 436267266 431293163 903467022 278185809 744539188 238963632 254086284 346908961 829007301 219096631 386658621 878944517 672620876 797271943 297028703 598970304 131918240 850335085 245354650 237169580 665113626 179382367 879002073 721335966 909306937 780173453 401861827 597543485 938691091 466872492 396074358 492532633 467136483 851021467 415784364 856374358 504181588 915938520 435022945 231921042 594164626 676673121 287964225 134851938 508491246 275438990 115778020 429297804 439147228 490715771 151205009 543236046 914014988 341289640 702859610 288593747 592048292 744585136 882927434 477470824 820907516 468707957 898860781 449018264 733132535 632651963 858347875 997945271 213168249 926208298 794089057 717524794 248205187 422827202 682681779 353127211 813055285 815145449 854119252 167405993 890973999 364812302 192822856 676879312 595589677 660119237 634872138 311082342 219315493 847324948 311091686 602313593 691579071 141055968 308397204 659928679 576105116 265059373 596182852 289837828 938609722 425083567 491351611 936840396 603365216 952384306 319226026 248106021 357659938 984641557 477782033 853181249 420423388 741892890 522156402 701290377 422194404 771132382 588760113 447257915 194048568 267944436 165730169 667258689 173708747 374071219 973672580 430798227 723847011 513224606 746512103 891766391 350179555 252992902 327246415 116661831 992640412 407151260 634262795 616865410 636499097 161281461 657414883 582646737 346096201 251510879 833966224 960037876 403277876 198682268 963565614 285762780 190967189 119515786 907247688 321038613 116772820 119394644 862033818 990842421 226232914 542870308 484066220 404122931 470832066 428352803 171285555 400174572 299809068 292479929 483651794 994398510 986706296 219380546 225751749 382956070 669261652 865236340 589100410 964387947 594209935 228616509 829555327 104587336 547170591 970268324 352701433 682015197 920433966 689014114 162207832 905194116 612090364 217752209 820656468 515551720 248207589 372787134 818702073 472758024 558962440 918321048 344548102 434608979 326175107 781793620 395018683 349977315 265343246 902124189 508452070 848778363 770176718 429679156 184429065 297810463 446233136 545695472 772954557 110745367 571271304 331015322 909508171 490844911 343568034 153288363 817895454 991808421 199968132 836848353 164523866 900527571 125238429 575454134 587853818 366965639 415116074 729903925 841641616 759241842 675529617 316204727 986617955 630319833 202551019 561590999 148938778 518083936 848339668 176879327 662540384 555158064 375356381 716276716 896644277 956522047 144711772 486309262 539228790 110514839 793311825 652024510 361698268 366651323 958051272 473886301 831472358 289563167 408947793 707906099 448090334 666398019 692124636 926389078 174964825 725012037 332760022 250708314 787042379 241356293 325955353 647165753 234438309 704092228 399289694 809636573 116027102 241038829 963620125 193108720 328529869 952772539 233701592 264624534 454178038 171110404 905021988 126393062 339126210 698235518 879619607 321904042 503033794 295274704 889316850 501304689 351473591 616584113 674223470 981802483 163539273 855854201 812567338 929697312 140713991 667774749 365170013 342315525 353856227 120597600 595538768 753335551 776126582 611928314 140172621 690440262 474105058 482939543 658841965 807496881 675512596 632321382 554130798 250052313 352523275 921235968 724353951 816642511 192637199 368503707 635866875 398156047 490967130 289621125 118573160 443328049 558055546 777855387 660985772 459300499 762693775 448342712 515169179 883491983 346996948 969263959 746027807 171938527 997404840 460467591 907077519 292018363 114460402 414668747 231546809 744309021 242787045 764349349 589268774 864429810 674227256 105537901 876764462 811571807 375592596 521208925 247448470 802222692 749401657 960097491 454612159 549227385 159381691 945362817 676178925 952077633 662243366 277248800 406719157 980972094 920113151 204383849 960416612 957869289 544861822 394645848 389420823 834441441 723741456 556018435 844627706 115858946 380798555 584298041 474597354 908649274 274024085 596325383 514389952 756224417 828620694 726725188 781693985 550677576 486025712 884435153 135723098 858831197 389781085 757638485 135422802 443774637 289810558 207448600 855876987 786243493 453216853 309102278 704263296 385587599 574309798 652730848 395317156 984717426 690631352 859729962 343488169 682503994 291530431 654072816 936493785 379989484 887636094 988649543 297249419 893229122 163344500 307393934 906659380 790862332 731948229 790209121 859390747 265803360 946370692 824935751 186255442 523277877 868346710 797838720 612973937 211878417 331545832 161603422 264903033 506616852 473967908 277691015 532306051 491371947 928937660 307917754 117649499 435109857 942454551 889978772 110848090 579038620 941937592 390645163 429364706 912030812 154976044 575555040 133017368 340433300 497209260 421688340 316155901 178763392 880369841 177387986 446929471 211213431 542318744 130446552 945904282 954274594 367817287 443817982 419615914 742656797 882903863 141284403 565505998 847181568 754155613 283114080 177750256 793624053 368831301 810583915 397961059 215625097 194451564 679254796 315524560 112160243 588954806 901850626 535022840 409838238 345503067 764970779 274387847 647860958 688130200 891960308 940026455 134218544 349854088 262601029 519393877 896102443 764521080 605623307 309316185 895468568 892296199 657024614 617784220 183140209 109653489 614967582 108547984 333046606 490546794 128794819 349525500 689224681 637053945 616764980 385989290 234824412 758119209 550375370 668701893 610019677 958554158 689853459 580517192 223779015 339911306 601568318 484041061 906376040 883666325 165228821 439312007 229129690 760583500 231747896 332474767 175675828 948551687 601851895 985777781 699729669 297411025 837532527 812720525 143945044 701272267 525725960 462724744 138675755 702843451 170689338 498395587 713098017 949643194 653962085 978635065 891000820 564217913 345906976 117132589 552606650 238986596 975104890 488970729 362264618 490547801 644025427 771969480 388375871 476995635 194095516 120196875 533934323 505956917 596659322 565915249 318030759 844769594 884472602 689812808 197982988 487452366 564326614 869388449 196711680 439369156 990413405 248283240 489472131 608842824 124242772 522174659 198344584 196014647 969220163 364673953 881654816 181487797 126256098 813806865 942126567 729373271 702372212 367756110 554617378 364520782 610332188 524021548 572139498 687092364 144724255 568446288 582214774 624063466 890327353 222482199 289979550 986378906 492799066 576915638 694060929 892795342 181912021 106768014 991729523 163158933 570947707 602361460 684072010 400378673 601094147 269378097 504732369 233809781 808637794 877812934 162979721 975282574 420210627 672676864 152408469 687309369 576000487 750192748 446148817 724427579 327751422 976688217 983008273 953860688 294632846 797465824 921733126 504469630 821013662 739950545 483187342 670645099 732472938 183671492 507603289 292347398 132484511 215399925 751721110 290779776 311666480 341488875 571129037 150980849 663096772 127278416 596618647 744299365 920588766 878061153 918669824 810965256 499661582 945741967 391739272 208748768 329470615 589898311 134715078 977023358 466370259 835404195 536389879 267085665 396009306 390638372 357369632 904641292 138867090 959289019 335510220 659604201 368255321 867343800 210791502 278758827 474515765 220132485 247222995 954274371 171173055 609114612 374343533 913583673 896477957 515556355 587592274 549419956 472853728 450759772 376858733 315959308 367596603 923923118 948329447 963021000 122315092 569881682 292282860 347879288 658905960 124891600 144632494 831204071 331072824 659203400 298782862 637720748 663831673 727291521 301702018 323887220 189746815 347372964 319836997 682292425 720540945 657981637 703776544 529335547 333450970 616063729 156224406 976405383 649890533 423046989 526152703 472954928 744221357 425287356 124774903 914915743 360863485 926820146 612437746 720455816 328922491 977461557 725185024 963980485 620482903 282867821 682575787 918038838 606574985 499376289 925957174 341004245 819181704 924936291 471169678 428929163 558570424 499442956 822533327 440297064 213069667 550993391 739809100 705015815 571088257 819049844 516893933 350300378 938176385 454182167 769384504 496305668 382182415 740968311 818844565 348436471 596508502 689946792 230775681 815625145 104604253 733453601 530371886 976467157 759453885 103675779 451316917 447051588 698513856 615859899 201701523 189450438 561782508 633520929 258174194 943603244 190005058 551533262 197409945 126879563 737004455 378665973 986566369 551993318 139254339 949173619 138204352 364590502 858526843 646545428 622951646 776748940 282747195 925193499 518495609 902579497 444204630 287239780 256862405 524809716 904024018 220862137 336062554 991607519 573523194 768637603 778812744 419743983 731087852 675887162 742463369 658649293 253009194 790597386 702867591 747232563 285767990 638272056 781791654 595792681 282982370 809651806 425685330 774029493 764353018 324500093 897117244 629917468 537582281 382425717 460488026 666104571 879747889 286620748 616623200 801804150 236629826 698162903 973441200 740235609 222559457 629858789 267856507 156821355 553420927 441905069 369215664 949341790 713227237 829335840 972492526 331661407 958622924 114150009 162021362 794317154 307786923 282412719 326438712 766858517 601587622 697334969 995940063 723065316 349863709 228842156 235252971 994956911 275659872 710841110 863810907 139772994 666938288 452310202 774401121 370971207 752583521 725614888 621103343 248260222 844891939 371639596 883487444 331383009 901428423 422964051 206391050 555254215 289665253 471664928 339069169 160437158 996068638 736903300 952695633 968538380 721681696 111800189 358404029 523416531 991666679 261952298 974481503 462796699 162369189 391823218 341035600 499360876 926611122 431535676 732934082 381854043 178058006 396651822 661307471 337984379 512520047 346332195 318569725 633355633 872418666 621291423 916254915 913769039 373009234 696305499 655234496 732297447 799319972 384587115 386334258 980576770 573679310 740370944 720770377 218373978 170648243 310396598 208854825 542153094 678041732 798688700 183931956 955937923 883949983 162462713 474655235 267145548 407083985 149688365 243283743 974810941 493385715 739842076 954545660 288124986 585010031 656036921 652645346 416171936 527523851 140025594 110903323 135919318 596339708 318822068 363105468 557740698 254854298 549411636 228960386 934520070 708330913 667862068 434995618 228072279 664749826 213634062 566931109 713784581 625362214 863696770 569303945 392066667 603659671 960503174 693177255 677338891 575746922 792417104 185554008 379481009 366559993 395487861 926325398 252502574 829381682 800736960 640241668 976477572 979947701 762422532 746839854 820437345 221187640 453444803 774028490 833066415 720538721 482610902 633671062 513705767 923592769 566520873 918637840 539426724 937400671 740250960 339273735 779236613 743085437 226551204 227259381 218484197 435309456 205687570 130402864 826313017 441924790 572510165 532952798 611456677 220931810 452028792 196337097 997060536 604407193 860303399 909093408 838857714 558653802 935953175 292548642 600960490 162868839 991103514 448262416 660410805 353437051 352644941 952967516 177454250 496211699 218111470 655666908 487116433 155139875 192723001 171333725 801376297 964658102 935983315 706964034 725541882 715779673 829031708 118534281 187316643 362677028 647828656 793584544 715407796 886996068 583157769 735676716 580009726 102079893 303228879 466004395 658671462 880893853 604080404 778836710 875637238 851697549 999649444 189042404 932624196 282107373 736360386 711715499 843234514 372379230 235466515 286305036 338284423 231709844 329148488 817361879 318406683 976524318 803097266 435682735 757254117 287332415 701556794 868111154 889597523 934819665 573124779 494344432 965133939 234051226 101346119 244544059 584640722 966571036 482721043 243573643 585655396 131900457 208383588 838921104 101352525 371036858 670540235 514471849 355568314 837140830 290398209 441627684 332380470 116094052 323470083 106428431 796974261 969444951 169953761 650912871 401701062 782676674 919398722 482789185 147695017 422771402 548472262 791924855 291330882 476644055 595330117 795113452 494792458 837554881 543472831 150812983 913617210 325214753 319523878 777380878 870459065 962906770 229105392 772823930 924726986 589304930 342835311 187581958 970000066 919995715 645849796 157880993 241589658 148442905 693083291 122828323 464367796 601383499 219392879 557773219 206527211 135441273 771376006 299134647 699166397 673671304 322778396 944408766 856300670 707190815 195715325 531203197 113805654 264550727 493646932 530041652 429713553 429638192 226273049 814576028 962584641 926130342 476194469 723620175 815868003 955147602 617265748 566541874 909035219 929886477 398563661 135952004 562520184 778417547 444659450 801697156 737000624 343600167 956067324 422928780 790822015 893399112 735181653 572990585 932957567 980785859 259438811 173225336 153217269 703582948 877270703 703042605 350627226 237063227 121108943 441737988 883311148 559353661 703707340 264764542 564666907 517075001 258629688 689201056 129292762 751095192 138779048 703594261 624460299 340789686 367198474 851887782 743180587 433647197 356130013 404564514 495869821 849291758 434634145 732147756 646419370 239512405 366890261 114273939 318170191 122982204 574774281 250142056 972393437 142097919 810325547 885720490 997398938 365818543 696836219 313525301 752272305 229090091 558759479 835265038 243239573 393807686 815427833 725055071 717766973 497223624 845118979 945781546 881464820 573339693 830295746 494593924 708745174 497145718 389454065 759617751 694322530 685857734 377088325 356401835 180839842 489236777 959714752 585761597 893549472 138695764 475843457 972134699 717776089 467106036 410041141 942273994 836509916 824558247 295632295 658529696 884960290 310294993 666030267 484050424 952338568 742971056 379290931 668608674 646909228 722413488 346722477 183414061 445390764 691560021 780297274 334591064 195909416 658048657 237715880 433007511 671174345 810961353 713640401 899744593 480348400 941192009 247845859 150507482 982889131 673100650 559964370 180384220 530140718 554341404 442073098 203144488 922614003 483071153 678922871 645068172 575477561 169624379 555153921 429406908 457922538 859057470 683161082 832896396 511322943 810184915 503074209 302898055 569687980 330044625 410364553 788843607 603391915 170472634 234948296 550927114 357886959 690091402 430895901 319258322 527391231 434575483 153487952 105554374 563597983 581481732 178803408 577879632 931721514 753576105 791677614 508134160 121498339 728488993 890174645 555711123 896770407 572513357 114625872 319309086 623911820 331286560 846002997 965699100 854684521 260608027 961948471 787552031 773847693 436689554 973271918 859499832 424564807 928776980 707484656 788972490 591837512 264615987 840960224 608846692 891727018 581061228 221533333 756028325 802912236 644980358 864384134 339423538 905975793 202643085 257256348 667104389 919569345 676481837 322759121 201816035 697409843 535661718 434890014 227939913 873870216 800260908 580189961 775977927 735537601 635132064 830187193 179160023 337923744 796854742 873829758 589754816 176662900 218901993 713022177 188434476 185947406 208487023 336585863 640369091 738040494 448942283 183082028 318180837 494399409 571993548 793676183 262024383 514767249 897761690 541697432 980262442 308980432 691628302 972595160 263135414 901692009 238920572 355599562 112190361 733345655 377916302 957861640 895646731 167787104 640903661 928116510 902902371 636971364 885905377 348426616 695870027 698589709 838194757 564850441 635856233 703466770 308398310 929064510 134965753 832401189 367930659 133514459 726080166 511947910 749507855 870787666 562114189 383344112 207273695 259713623 508403494 588256399 874028287 857003106 350737971 698343097 636976731 339588410 976395687 666843168 916347423 750810857 231968973 698345672 978257069 829434086 240449904 364367242 694147993 764529665 867185735 368147310 222063466 971836214 977052898 444511962 159092638 904908875 514621655 473177847 141866165 465775628 160507866 403141117 725335464 445505977 785506804 144505605 264396752 542476691 937562168 142251918 285645379 114803946 684933149 541815271 803829390 977481593 537731019 704308749 641334934 524760297 336259886 328948854 172091085 699754698 891413895 432139171 457215151 842257544 796990256 180361546 616313301 384252507 586578220 353517370 801508887 991493017 378910452 891764096 530937277 651910230 670178124 905738287 754134887 522252144 914746889 230070261 957402413 359550912 685225419 461978324 271812439 658736366 490367678 331509583 324466535 265784145 513581272 652713712 891264728 460546206 578350372 243910054 511486872 518447802 297200890 107461375 435143008 121748389 899551168 313048565 726725068 210645346 489248727 550224649 120645291 802298250 977868151 470391445 134678799 952367458 328451154 320251272 330124395 186779184 430658173 481734367 239197199 189347583 986425211 406496397 907727352 635681851 545350666 991610287 793146385 417287877 962843538 363390039 142862079 183950625 408357022 220741127 108575617 931080452 350310948 144096762 856141287 435198370 142999245 101180571 644563534 705065814 432722595 506855612 790728831 960995240 396944069 697759798 863893433 967924653 694332678 360723177 818037141 220880768 465014286 422837697 382134504 655325429 905060920 150909687 135033625 233971595 592813908 372719872 624437953 914859690 203402164 914596761 344451014 687635012 844438735 809292250 398776683 522481436 262025316 313185664 455103172 311500513 229210314 269990172 792074646 987483157 467365447 430732676 144476803 627415674 296639278 382131071 910774440 174257715 179688985 816646987 737323737 956223788 980061153 828676917 222965764 992886731 755866162 505101929 180983520 158796359 365754546 754596445 842750566 873785721 180175067 247671269 718257246 731301615 480373054 122111582 961163219 975370149 941324306 564898417 529045304 372331740 883371147 393960094 118955143 913805534 392487955 925923398 679453983 727697104 682014657 851478966 404328308 370540859 327901130 864752966 735588541 519995847 341883576 772184839 547620195 283842268 545239674 373519654 874701391 963230662 930493016 840105923 570456868 753006000 159252045 812237621 996457308 136784701 710977028 517371869 431485259 751230605 889369981 517564124 688040350 808137309 279746160 524326756 735540482 830084117 745534489 889808911 988503766 985089258 102570560 915162796 425196594 718679255 316456947 339298787 964102390 875487226 972469549 637194624 339210285 856201552 884202442 279325882 827332985 308275273 177708032 906271433 413090923 445733284 578177989 409779548 874247089 965999861 231798023 585066380 225334201 608828156 475690647 403936221 773011733 642783391 681401747 420801039 687760139 621413851 541722524 868208888 481835401 331573731 243253501 475819100 559487062 240556957 896436770 651885359 410306313 791315202 784095394 792363165 473687770 644320374 463104662 427532441 514182554 822984583 755486010 362376509 473614369 761629121 688520680 887220085 285020994 897206309 610019748 654053854 670444266 318581655 311426165 799080605 636706162 577804180 238634445 199633711 291471145 529320059 302362634 300125172 619521364 296956914 543900202 373770817 883843306 986667399 680466342 207593675 185777071 166371265 925498056 607325195 613756317 587103389 267655952 990579400 191696603 544784153 812086517 513345688 149941419 571608131 676862086 687712793 912655724 750846191 710704483 934629144 908531536 769561207 513877843 515400289 512483866 501131624 642887578 368885749 175742429 783445194 992411441 768171959 853108415 300111574 712557691 759027109 523280006 354444605 290767268 102285235 876996474 477581578 440836356 610842839 842826281 594029183 455317558 162996242 820624229 562951531 996640543 134222649 885599672 559075078 194915877 924514276 106354938 681851050 572284927 463101262 540098367 782777238 330005254 240335642 837682916 383630241 721558252 726599496 470077110 259907733 923517805 756616870 660816178 695479582 752558656 129392874 665349111 899032955 955417308 651835620 452191078 626874477 490178912 885863027 737998864 335129434 995046498 171323158 495584091 819431205 770080302 974727101 677517341 386594351 561425426 912828315 771838454 535145422 344221359 229583806 128844155 193161518 399396037 125992689 691022246 667630262 615057719 167594787 345754043 870937133 123299508 826033499 224781974 283741700 951369765 768087634 260597661 945558251 948349154 993054700 657296139 792185260 703704675 385799942 717818527 828736834 795888154 211539506 357582457 288322533 699509321 462148500 874604836 682881409 914771736 843898623 529269359 706274330 855146229 776480652 484798653 232933634 100534121 698495946 357440786 324938768 950609957 338952759 175978463 381701782 251204900 644551608 762688939 931702357 208675277 660702667 672601285 193587354 970395100 178069343 290901719 939409083 440917175 355542874 480591709 693747156 133964489 781571517 669399748 826294506 389613596 857766884 405678901 484816858 756303828 941821662 671468440 516427219 489189208 979893873 861524622 308789134 407289910 743568840 593311443 470868411 389031026 196002612 294898841 426370194 914977322 711969442 586197156 154664487 877579982 875627467 727216039 689888376 227315896 169348180 815849997 240266941 323495404 234661785 915374426 308711841 437257792 971365666 956057306 359789667 790618128 828347303 142578657 700779690 482482038 615973372 213679667 644089902 679659504 413458410 478242459 103313779 437441326 796979620 661335527 972128471 298564353 198946112 335627341 640745017 465366938 112884196 603674461 221190583 925609898 108929919 387047928 986644247 212413052 409095381 152728901 468497986 728961616 646424631 955584048 409205479 247576144 315429064 484800232 559375149 286644653 163738140 206599101 383835615 853356613 604908484 571800212 674171315 132336054 996261285 632868749 810502183 952723192 542421021 250918170 673854956 615559458 374815332 317183484 509399871 136205042 640387709 401940509 690176641 907723791 865124315 789292339 314635258 230812973 118995577 107415795 803563381 118194950 133798053 501107667 524896127 467348405 453645788 772957074 300907069 671123594 360954090 409497038 876393703 304379560 692573283 134870400 615422168 440092811 589624665 247521367 288236197 148067168 703076089 589539398 453877174 661815292 747623973 214954161 686931363 809064834 264665880 910292996 307471947 222336070 754807716 742574916 821117329 293746011 745168907 401400970 513027784 264789056 708483466 837065928 710726566 919120915 410885319 480492259 133597927 332942115 502022268 617513049 307556379 700180319 607716566 238314420 669356699 714406011 307879572 294952410 992245135 168905360 724456652 388784578 334026404 149515220 533212372 477024815 524618262 385170785 821975810 260106965 526173278 531296129 497752608 318335711 756545135 525201691 103492573 380063275 988546939 866747856 468733413 313797248 521173268 178385826 307329740 193232009 880587653 669930040 577847353 505682360 580715509 593111899 703962304 922210521 803495464 911671814 485401024 320019861 740942354 488064049 914807551 323837326 844672192 302908874 640705648 730745832 848814185 582462878 123197907 757969970 426872610 713721651 801767691 652124954 964173348 711705506 829311638 855250288 617463717 641091558 255076711 610506986 406284374 345418904 140259533 135305513 187856341 838284574 530408484 701790482 228313132 126330076 581605425 694822708 431589600 233905232 499633607 797204234 489356880 464066299 827099769 233368633 172264471 366926015 327484227 709359661 849629650 824276595 238563567 256040762 129805477 546553081 582752061 904669281 150073013 417063428 342171904 533075891 535203981 971020573 325686522 892790262 824206722 112672695 574261239 548081422 483555468 137912941 552956590 787297420 593927594 960889799 823957939 712515122 509309062 456745846 263185613 549216879 263089368 309193936 768577261 692628156 835236195 127050208 919417400 142980626 245956408 360385708 573425671 332677605 279663421 215198511 734292975 530650736 910481671 500418014 726421648 962286482 704642412 683179937 404972843 898871457 604379699 267944824 246193600 908788279 502754216 136113498 217270517 178701668 723886271 204505395 545882453 779603581 794274861 186894354 401919191 191667173 196251945 590806512 935930550 454558171 833601920 482486660 449394909 506622637 445809877 980201782 998483571 879079927 260713911 383790165 322170925 441488878 408673477 850788143 841446391 714440006 285626415 607871421 970932380 262957012 356465611 548026275 187006129 347709687 730293908 814770800 670939623 702178327 872058115 249897742 572340145 995045197 743284589 527617410 242429975 372704628 401713230 741031805 204180304 695911763 220728148 215890546 223951000 192397253 703343570 369546064 923617912 432684956 351330687 694450206 781343881 189111746 724532150 292116504 151536966 700360311 110093863 339136990 557623133 854170259 506057867 556960634 516381950 639520525 408627740 124412813 526867659 260658483 305409355 542914839 505976083 701338439 308331695 974780892 744926280 350892906 731359532 337915759 803210555 417253499 485205601 429176542 477727535 573718533 958560595 579828445 294992755 299782522 197089172 579665735 445541185 176133298 591754248 485615096 364395794 926522741 927963391 935871367 585691413 244192845 850712143 221832970 959881665 189572012 832371700 735332180 726470034 164918957 637282377 948015221 488348696 268803558 986470021 783411405 329660596 755694983 706665752 866994983 606714660 761142917 404441117 398813355 384383697 871375966 832459274 681351507 141964529 529899331 468568578 666133074 360395518 792857969 186243933 390189074 322815668 536866020 231456021 498185331 316147357 853132449 245359372 801843345 573653295 666409012 780750330 838730746 194675288 838264354 366696793 103858930 134439749 304186938 808331369 190770034 839580208 984395624 433496004 119092286 773074793 663619756 700638215 368926540 928167558 378420784 138679654 620826640 502103474 899387128 446351096 621175790 665497450 995547188 804265763 691938581 162219645 801855519 676951370 976556532 130378203 245465151 931725294 508690769 740047897 181867893 917296099 225340230 126947866 837654170 380702066 298235171 332098465 826320962 978606061 537562137 734977096 914010919 509123065 833202830 204724239 519447849 567296596 570914405 238427729 331163563 844243008 266964913 515710207 725500810 532865276 709626870 694378463 548544812 805461984 431188572 998521874 859150672 638303793 985740220 868071542 383676285 849686080 811105931 512127698 971994559 239439719 784662744 528566843 708167824 344821243 706501487 891393623 778810055 239254569 638664997 260049435 216791124 236212396 680173400 174752968 836101858 568227928 172353283 604456009 125223821 698897599 429227099 470793227 342743828 761536894 229056528 405547207 117764646 269959281 608531625 816491815 244117519 339869790 163178893 675716978 993948810 513409149 818788306 111538396 944453125 402711485 438144835 497253170 821646534 524475978 265502470 804028996 242400039 457115351 719816390 898954333 123319207 586807023 342672537 590259277 970794445 174141673 779574826 709614355 772737531 704345106 801244089 562770192 764890795 786782478 626714911 513787748 504254697 188619173 720687897 141455313 285822773 226845445 146538310 545151149 618650589 878419783 308448490 246419860 515817987 408803066 363766958 226041952 129248349 513352495 877541983 370131717 401532814 872174267 883003095 508846911 490556631 393007404 697535127 150248678 395736117 238770891 468396699 463355357 242402087 992328592 443140149 568886585 361309763 892868085 453450231 233919355 923693816 871057510 308270484 690127384 764111017 722932676 924425849 269979245 442166782 796160318 898047666 222150713 773874120 109230112 357914825 544457709 604621564 554892217 363949438 881031459 732016218 517599377 724635525 546426960 226903354 140733682 457835895 492818429 594788165 287755835 539526138 916863802 528719686 284890994 916286776 414711870 601817129 277404775 698959511 289980777 600586321 102553538 355646538 171244408 925156308 510291339 700371341 225426713 560721193 343023970 142459577 487163740 607623449 375628920 403858331 575016071 312338570 520523074 503624215 619701356 899700722 653842772 761083447 988907496 487487147 568044861 150784473 116747619 246793790 701298688 310624905 588367828 811944714 206333431 747434932 842522243 389725235 632799309 889621718 169608727 521737166 278144353 768043200 850541058 349465765 519248256 519364707 111996915 353540107 393166173 579522035 822161327 116438499 782901274 849688335 718371692 707289100 525755104 890747966 843041233 652307626 860110353 439638349 818785570 611797709 368219160 721137670 577458984 985273743 738616319 385414212 467025678 567638676 414800164 270410493 407622935 170410534 963955666 851806259 458576768 652076986 818004910 635443576 849115605 383721484 366560592 749015323 139949910 272598916 244306636 256642517 312833805 329937300 161622827 963358094 180721697 277464853 869843398 823786707 267384981 377300903 308601206 667722583 906602429 266159596 395938745 700920610 540625839 688469502 591117681 853327229 418182171 783209673 684083391 785690191 435736215 513584878 750430620 670709173 458571130 469362857 558184044 193351109 316516497 464187398 344597497 848094056 257615087 893079992 915425893 364924041 416965431 889888399 649073775 844948658 343388703 388617605 334919681 586160713 455493903 729081783 456077628 956962266 130849656 701663869 152544763 440866696 720876700 845283885 627581273 998293707 516761368 940466856 911139468 557470644 643591682 549386367 814491427 439966877 436089077 432968755 364666024 895826016 613368477 414351093 393947301 209195675 739944137 696515165 355738345 651409089 219588817 326069354 877964589 127273977 871614699 612399780 754434453 501966616 126013602 521105729 775567279 134071348 493124766 470072037 841572826 846790348 542329396 475207214 889132380 925795182 936749221 594923420 808427099 419624618 455995416 588991424 408537941 359120090 947178428 909686591 422709656 399826628 975715241 385138275 533806881 412390053 632574501 408959844 130342515 380222234 963810358 641000678 879377580 397273001 791360535 787551865 132431209 218609957 241870053 627887594 148808070 219648151 177231053 814602371 544645088 669007258 471015244 266662579 488942709 875784638 280239112 268461718 414817517 721171213 701565543 691069442 763411719 160936382 581364672 231794903 673950151 531523573 801134928 751213996 410722642 981749242 306646421 586330379 365467645 883917098 800989760 491297521 566394159 191912513 202172116 452263394 502860116 696556640 277149535 509271620 385630326 581187989 970258532 146757944 252644059 842649681 753115745 438269046 305419245 725980659 399784373 734153156 596486190 491815466 940082468 165966194 681629003 144880505 450610852 718856995 832458203 739323696 796176616 415585524 310946568 621065053 522298737 760289376 380589763 801674549 392796603 329353386 371797219 583472680 184056085 121277464 234036802 506709724 620616940 633652848 143968387 686271968 543098717 788078387 375278890 891690470 870201307 515374424 236447022 740830968 725126795 239128392 634827198 362346428 779635728 484497299 596058957 143596661 973391755 295910859 989570777 388724629 899161353 928388096 602259392 268028694 548720807 266746663 498168217 348956755 785232629 300131737 365330610 864878258 330515526 790632657 604316853 442185088 746761099 976848746 814784612 172605755 436492246 223652570 237780999 765851651 914283909 892984212 663673601 480172418 561231723 176665483 789001022 209503184 708220840 912762817 353092069 531810253 290341384 208391208 388744111 218208327 907881422 888358865 908083965 272512983 241018744 752795549 617565214 756406242 501093115 436532255 170302549 167567345 549720004 911593062 294093195 529013700 944951454 308663515 478558966 253081194 256619330 741967717 645776259 675638689 513411022 431362836 193341500 565199707 319430128 607182088 312304251 937788350 187076928 901171756 422823320 646375469 417740766 246397420 809302878 958113351 617378495 301392239 133952985 259761082 959003165 551722252 726855264 567584181 927518405 178520041 236557906 791439173 739118041 906290110 301059694 485138734 381652792 493811318 889785045 287050558 303778891 989003886 604085776 661159868 496240814 554563474 193618058 802340414 621156488 687259715 905864440 816164738 247195526 262140211 157633521 532059360 321048336 179795410 522993426 939337326 133488560 346175107 237731841 567567731 306446409 127667098 437075984 868915433 936989500 519328653 883226794 956021370 434855269 581851930 465367256 448389463 716307088 387752837 470657408 990475774 316079326 108017979 387978263 173679443 297952698 847585580 930130488 758951696 569732452 327897361 190129540 554673012 794251298 779921597 242281009 950345344 995712204 100788520 253396815 738665764 324318093 313507886 660783210 842848599 344472996 298880463 134813706 341561468 301751514 218396634 778511369 982533285 570875878 398245997 845032600 756494353 822245012 299998784 947139132 367716678 673119621 482788744 243862692 240076939 327687768 483380767 786328011 540006078 670395688 629433067 193024340 803550119 541075536 201627047 902708729 334270118 707619665 407375432 721990497 228799267 179446834 365380292 573113863 899925116 944910829 233940651 881866646 898396375 245822466 528262409 837244869 869145780 872832596 399559163 134361771 582572202 284810415 566553518 853385072 296255892 990708283 540042030 582245238 579290879 471876759 703146389 564297924 703019856 816110936 778475057 546411772 475111366 246889286 397894309 352877669 538821039 278898755 424580120 476966297 518657080 399962551 308048463 113392033 554016321 322141349 797580094 440680623 798938409 899254516 150718257 509819529 953766024 419226775 778590065 966430167 259107693 909032599 732446778 208061878 187314001 607407528 408847391 261814669 199232622 716797094 322547075 664425273 885681984 831473563 221652184 638479240 946439155 211078432 487297430 887597157 636635216 697039646 696190224 246574648 936348776 752845971 391333783 306589412 102140897 268044663 695165243 328931267 843018948 484810060 467091671 118581115 113173587 324274368 394848205 720443334 375000300 388549424 313413536 369889318 641630970 916835523 272324523 224804052 364205144 179211540 921696565 887116690 265584339 472317097 103337457 449465187 945518889 625918581 339598991 595780644 426701981 251225273 631401142 403996264 373852852 852791655 934669936 271812288 741713596 887412058 934793941 183704921 192648284 955976527 117798941 553092349 786833849 800709627 911295504 563375482 899649465 138923403 680086891 269609181 777778584 903542545 309001738 628191553 398720112 241925269 844022368 961713153 736826563 662975078 474134411 295316563 128565439 844572976 642276055 932564796 765952591 301236126 248862865 740710336 637774105 569935832 940921083 264715577 117590681 437166909 317218988 615068033 822887552 430100506 575357676 826483061 653779366 563600682 542815077 391134016 250584744 350706128 287921217 572779095 132720865 930922537 974235669 858296216 881416044 476357635 373390932 386577660 606472687 157153646 987603294 234477252 358015259 454166657 697794138 179254606 396444079 848658950 583975405 922451259 634934546 750682062 135727535 541451840 550519297 742528083 974894766 431899574 640572410 890198622 130149766 433882360 926447933 174886819 692103011 775206990 663465022 515271364 898810655 700012666 229562581 505593424 175418894 356410375 781551675 579932570 991298810 677041171 571794772 881866958 541041867 940067453 310260892 309190767 208097682 735767583 482604956 839858505 382703095 116603535 177458853 105660823 855041481 219249020 277579271 711686286 647514891 195571650 981181101 611946220 529335986 887585920 915435783 106201005 123760223 239930527 914427178 250854119 346689856 344968719 562512669 118758259 353856420 249736174 627533538 239576590 933639506 682207955 737942577 513306108 281350591 904675733 122774567 790524554 197590156 759791028 940311491 179027649 748024644 817554300 991862941 178524123 227050530 318181094 730154042 870775686 905255170 737578592 418341391 941873345 367911370 356557927 220990085 819992279 705406406 102099918 920236098 194358598 361939468 200664224 652905057 962148412 692456584 936169537 939615735 566460010 965474180 399178848 709909608 777921109 330748804 526387430 203218713 128130505 672758948 966680309 300080860 436727701 675763348 550222957 780429976 483360279 963940259 963819419 495997942 160037498 508658968 899354698 503203073 265704005 533997080 638800704 813585746 470150565 587172883 834715424 146712324 700168430 955374756 993925594 308982283 404356725 481799279 235805367 804219529 288178862 400948764 533949260 529548184 444939423 440020527 998781356 218597756 509317141 859457739 450154886 241105433 832970799 315591151 220495034 266677661 804182443 740561110 756474264 787150973 446685787 702716409 383562022 195057607 705578406 767589774 973012477 411039773 602511213 219159057 687412214 577498937 845326005 184981741 142859415 829189807 524014200 652359618 497242785 295490276 765545321 873421260 187717087 503525492 728681817 122686346 285869931 794637288 447532739 202749872 939998726 780454488 173112952 375776348 693704975 744107934 930370240 274303144 285644998 334933229 432102167 354376905 255584283 739446053 266841182 561640862 464032088 378176211 358476400 361398547 128596329 300941571 285013967 842932777 219780983 886791189 580934798 107128775 802531259 289119727 321664032 309530369 506390428 181904295 345099589 368663303 593069895 282603561 383784690 657084016 351539217 327325250 660753460 736284475 332942473 426715282 478135267 492682689 291380394 623077956 834283113 400346430 512094139 564044362 178927992 701882724 873158749 411683139 141195279 147747467 127686669 129259201 210410464 805649483 994048475 178568239 748469489 618640302 459340207 282636752 218464017 437926299 110257334 340828500 865475361 576636311 576342092 128532218 704332769 837810077 372858605 176155200 993029129 197565543 545054359 849493399 453184059 427604147 375827316 200616123 727517663 574407512 382227710 840557476 232194468 478337135 345944245 897636574 213869306 439257806 368529025 724402237 768353587 360562361 244751021 119607611 604450203 491925599 998104181 460760267 564002214 360415835 492616200 539833525 304201574 953680738 260784924 390235382 957974355 420719242 466212031 335058317 630945832 647866639 176576089 656996439 955901565 159609368 465898406 399943396 611267109 312700906 664560493 429308753 363915133 795513283 200428696 838359197 564255782 622788908 899284890 664556973 472045884 967604685 790856083 125850527 844243665 283540213 253010167 326828493 840297263 735115963 739907379 627951131 894946382 264598323 152928147 768653842 991439223 463747495 659884737 360865159 830985080 415184804 844273174 640538201 274612190 667522659 704491871 879749696 167328867 147903874 258529120 405953591 436506677 541926181 468120313 562732159 621514109 416210292 721351514 890491458 301348364 998083665 341961159 458619921 886230871 543260471 565734684 170995945 790164123 586846654 952771702 115892705 690918506 308476285 251061866 692588698 956697288 364913324 888455742 588144110 768412625 161984591 766165633 269927595 744735700 113970604 254372347 753344256 899819516 311745214 843049322 206785224 510948143 963219693 670479535 830821939 466778666 341108465 499508116 466749982 524173050 773764979 700156261 132567425 584340374 751016802 917241649 846888757 822484934 867370562 444670719 469552371 526342277 248115561 523852326 146364023 836238150 226576336 499287712 716772109 747533765 917744257 178109846 932918763 243277622 517323629 853463676 897242225 245254583 276895364 865226159 722607203 234025381 216569089 314821456 568396897 318419674 397131677 201880996 919077819 626875970 673151467 771773005 372422976 765989797 241097856 993043248 463286586 465578716 878055216 253779343 817255141 933212355 226832104 770918556 968841130 879760752 268981736 701638830 306273580 715005334 428356683 267363006 198537071 928192245 129170996 851028998 780497190 657819014 842279082 717618818 644090451 551324407 897774970 402489759 150459038 444667455 261754970 223727055 306568077 963161197 246066186 812993030 281252325 742415182 573926524 798780117 106890874 333809412 585729512 777503746 555605647 219372735 718579574 185921114 508796785 912549534 906614988 816228119 105917525 113988903 854456342 668946457 255764821 693116293 689963225 211859870 655755531 111318004 237262785 413308849 132581753 398959629 114539971 264881984 187218264 466109476 254560129 980842614 844090672 895646358 674427450 980733677 405255817 334258298 606176704 466347739 375305948 633641544 598988295 516665887 810441184 491420390 982219106 778199005 514320244 782664159 968414605 868722773 131085352 615180741 666100575 934999230 695698973 404139294 611924616 275841643 625684796 431388147 581437499 772103461 402326698 161678660 436697700 436634401 493551671 357496919 376338752 555446613 951426279 251567010 832724511 581816506 901484104 272355529 245377089 341689953 971593769 964244989 769842699 503605474 943370308 894828541 439107201 452504814 561289973 820415962 133803678 592365840 722786130 802216331 708615373 133452358 878249915 310719461 208589262 645490545 549058819 465432196 942975057 133556998 177614481 528609177 882513398 868527391 857491186 634323668 867073718 992932306 268348903 460966730 559760037 130364531 460420146 763571745 280847963 607329909 770828152 511262072 281967506 573223164 176279977 862954000 718605421 819918265 640946927 527602475 162511585 248511085 496049027 541448723 997126760 243431816 627333629 261034442 774851156 203301115 350174075 268977807 841596520 951362845 284763472 160189574 846867521 515652466 580196566 326413244 377981698 906302624 864230036 516648096 858315072 727544657 741466045 700074740 416008788 781357497 105901741 968036277 415500952 804718893 831925334 283700219 510686849 888390289 649187306 720804030 957572552 855796348 848295031 378297495 684686248 914656432 423743291 764120573 917799133 110974559 801693818 636359187 464065276 920942814 222451035 496822649 350843640 522939696 526596093 179076259 100246974 658011603 385371396 333847936 242045218 914633723 538925444 672423598 953414492 894468803 256922812 129635155 830942410 208274186 800369274 728304747 809833299 641576163 680814618 939180227 560473718 322980992 578640010 350155829 363423091 832725677 285518942 385152490 381807340 958884709 144567044 414609223 926999271 572709435 223189114 551455539 151705055 625878106 635557576 461743236 974146552 636868453 478598861 249559889 859450260 818207956 376055496 192185334 263139302 923707945 474356223 794138338 446511754 914878493 653946207 222583724 153864496 113421925 944453198 289962086 159957766 527920657 527358808 541152497 974797865 233359090 570752373 679586262 704216879 841313322 460385792 975279945 732183823 696346960 182643473 713171837 525687695 400549474 469814772 936955481 677105027 292371128 125207864 865535283 737111324 840667796 376554748 424211094 458602191 680875691 296428707 107516208 839216867 740992860 261903032 412235166 625770391 525975711 321000330 105601533 243022271 452186516 103362445 309644669 342447860 715835030 907993906 864960987 464374189 741114830 431409929 665380584 276021951 272500440 636026879 464795878 316240866 557823261 971189365 793425494 371739846 328945550 969645878 584324058 444928265 116566539 517241367 702133755 733060759 479943612 293741075 725297054 814577899 398594615 988410957 762521904 659571975 379713627 604526435 524134326 445604984 382680803 440094430 213533057 819345350 490759177 866312847 424492064 570625371 470016361 473056147 300307294 842125923 700281919 367702784 134328844 583682968 598556249 126137488 317061023 865517017 636606769 110339619 653976681 956141657 465024797 530271196 927677368 875762849 584802230 161616897 303442163 797985772 698136398 316560307 647344619 337631514 703808696 623032157 774926782 875544407 535965150 590183264 338995069 310009779 675657005 538180194 693524180 710281251 282294396 245984429 187202037 413095655 332383590 761946172 944657386 839143066 155567128 700182275 771888603 918509749 706816161 664871161 120469109 254373416 605196132 590891779 713667190 465119195 803290263 949538234 669063261 474092083 171824020 491624996 234198433 854840807 434675931 116287493 206498514 213497880 335592022 791946238 559296655 631898875 934783472 417556356 707207704 822843527 181290981 228371703 808619268 966199292 510513453 262669133 623449327 959086793 160508126 566841115 699595376 353158298 522062352 852250799 253349962 691691435 421672863 706609808 418016413 609892344 918363758 412852323 940340967 283492900 721952811 368395296 626282238 257366117 179024629 456938465 350613170 763203985 893195147 356918245 711381241 350131140 863824241 811250435 102906909 388035070 513525993 126213780 426166716 543878722 206608552 991953775 992577801 730003616 819573093 542635858 860133928 805377498 517794665 175719651 411896318 197127958 375890594 105983619 449722992 148585091 942410964 109715656 916109832 692911288 772338775 718280093 126567524 705810614 525489104 952149545 962837575 276508281 771900582 158264732 620127267 627433541 498837559 306168070 888798610 350519794 724002124 254350761 589208301 838881754 271558536 984398134 753998789 109814400 973438591 190702493 584769374 371536969 421660455 735211605 815520038 752754367 406605956 882676123 862377041 689236789 144916061 448695954 513797596 392010374 585620173 973799588 421527422 468372601 353059227 778317806 415898385 992431336 266013826 724417285 587387897 421610142 435783828 771125459 498535712 480786495 313702177 250554624 125095946 405478797 674331263 531264385 101615759 291753998 503245697 638614919 232669505 987207208 665643273 784029043 506379359 824443133 978276329 625231732 295022927 635344485 638364289 245453855 929553397 460528174 161164486 948738422 473338314 277436709 519587636 470148274 384145541 961396722 966482780 463379874 498767598 989380333 665504970 837755766 457607204 511735755 265287100 456100387 188152751 247878378 961250721 436380002 799962476 909715217 467635610 584628801 123198301 954634498 348190011 427086350 161891161 415527767 559574619 111043197 401821163 579911992 371022415 670230966 666069088 904564628 946420250 292275108 917483876 720896075 320103829 348080120 522937980 589968281 144789896 285013422 134625164 368561963 532687134 163468485 134172820 459084677 161649028 664972350 820146046 608046365 121727687 813503619 729922029 696099359 147816940 663527922 743965753 490847927 341519733 563863522 331535260 466967693 254857810 808545492 151488645 479594775 223830737 195674236 760741521 524085645 214576323 934241376 993256190 380641504 881688827 916566295 621217793 435849604 114280162 672215063 304210335 490369860 189542979 546932620 590287887 356864998 571060128 710304857 735695043 414701644 326193223 477361293 529016901 918140785 216377792 512475100 669475241 337144576 649874042 265458793 359099446 380714887 716099545 683578456 586254833 165985470 602724508 442746684 689903619 232784165 298629255 585453032 490709161 895994524 805775053 952497250 355381479 974499955 580700056 105896112 951063270 527920675 752243316 316941498 612332880 819404828 466786683 299993200 971333092 120077964 104837121 605182312 197771754 276829889 307115051 962505794 948302985 959716621 901780560 692712775 849631101 198806938 650040883 353551108 460371544 650764857 309303949 617100573 739232255 493144125 694487036 661190833 262648673 875966112 273516920 243391134 446220290 492632545 475278969 606707054 962079277 459889176 990322757 962475070 922013450 711701401 273494394 949648744 521186263 421258624 475862750 875751627 927423974 985394971 268598590 991239034 483081656 801348561 140502188 632726740 342226872 319611306 332889079 955834657 452497771 601455251 212891546 882465631 584562433 308516305 336351825 366880456 298600215 489171375 788021310 320154038 675079342 567655517 807541734 285306012 158992078 198745106 264355439 443601672 348225347 387247172 972746863 790807483 935163225 111413873 769728711 345853206 161694027 964970453 393214195 248493383 103916892 890785605 591615057 506590315 569725746 747546634 954739148 666329402 108151363 852555459 416611787 849577482 154664363 906722683 291091217 189136435 872341329 426432369 847927902 562406272 580090122 183216778 830080652 814750880 317642047 706052830 216458169 250452984 973969939 240481183 749120672 658597289 669023430 171355063 548427603 618094672 203476888 313892503 133396602 378892108 510284759 492709762 545144914 529748698 907801721 221418476 199435961 172660665 652991061 679769259 698690970 376378253 450858078 697177634 807836006 573337548 657706040 205942078 480529382 301252695 568944152 529443351 260040399 713834596 510138235 698796975 628290303 395235961 482374357 157598071 117070920 687227067 138480069 659798958 461633632 758308608 266346648 767824146 213518618 206548815 205246237 253504770 706644583 350006105 682931482 950601460 335876690 197471085 210667068 357771083 585235616 977364290 529846843 644727609 740044006 481119821 333587801 677085657 892921667 904149827 525946726 731102323 226305555 498326505 882929209 949811702 784435324 339717012 626050204 895410825 934652012 638980572 697726789 846505279 164337160 609210002 268062479 162106423 897097094 210878412 605989139 477365290 296229427 657138155 948390014 347920210 426553611 390026763 752851515 277591747 291296792 614228764 752894312 559906163 680529749 361559923 889004689 202330098 281618286 272184702 908309635 595667084 937797091 727254989 126178193 746518871 192110591 271858561 695518610 929127591 600923155 183943375 912020421 920824888 553721797 698417502 937505564 707302470 756241534 364582572 985134028 832400159 382626894 144198635 388687693 667271794 109178831 688494033 181393299 970677616 292858267 653231034 438139102 104758762 972011172 439849913 949314677 256456803 405383292 672346839 799428461 983373666 932905215 449709272 408808993 646953086 642162962 277813102 573650890 535125546 225157520 370661730 397413530 462327776 854907397 422065276 127397477 592185030 757307481 110094895 268323405 544125861 943323341 869470046 361351903 702932489 410971373 108988340 412094355 363233980 239069467 116074075 791530996 742129653 407361876 625138522 922189728 265985852 743021270 649202821 111825138 802573714 300305303 728851837 491468805 776000353 805634940 314890322 751735924 523017031 869268288 399202884 101475970 292430057 591559708 564085068 420530346 849372622 241356587 992364116 387797701 267980058 950916857 404049126 664329901 152168274 729039123 166650625 931479598 281063628 777676448 639236508 249208202 851149371 813518899 701006196 219659190 331996104 646781871 802732884 849143441 594906889 502012747 620047090 201068922 149675511 768612176 867702234 146318195 241271041 267350305 854424633 670280711 957534949 809494473 822669221 240941887 492205442 765812959 820475024 376821619 697802459 922214987 494146088 182439496 792466128 374519057 965403468 975710578 641852248 456896391 536720259 884534978 600914840 272715136 331692517 380090322 789036777 833597693 987198478 644182198 504115938 829568239 518757360 876894767 765305059 622344494 377188259 154190563 807849326 242545625 540582410 778148141 984793485 457733794 552841433 732098347 933152549 256724997 325908261 100878846 638721204 300726283 466393183 305118550 421601957 264385772 503051761 786481707 246957844 137639971 198214738 509765002 793400969 825861838 755607804 583379158 140857447 261199816 794692337 815859336 897854635 863810558 306463655 331633642 359490420 752938480 765802388 555791456 613903332 157982920 888233857 211167384 232328237 544887537 747100056 797694097 435833959 759876671 304365422 258393238 171922043 604301794 971947439 234674454 357372811 482573838 923374888 969043462 854114215 200927590 516480642 189926849 450174751 804672113 286804387 364335875 905692864 509763702 260764244 413343856 657168914 990961560 139255941 184085916 655218634 328363544 233593126 267482746 555743020 391309270 959344113 967470112 299785043 168284028 416885704 458168550 338014085 857489144 765091270 407468752 949499127 732403171 214659211 459164861 263893861 168988890 595247396 962047475 968772960 530900756 184118298 831039185 273632716 485766378 644985561 371496135 357151290 145877136 152919991 872917151 111919130 341506163 422376461 216370221 933189891 113595416 991230951 160224279 604697728 902604349 324306289 769804299 712902202 708387718 508061351 205684582 441087784 713565693 876198901 817324996 458786814 242532571 189482667 111001946 175497510 556374139 983385922 195709713 946762066 217663544 961965101 838596646 555897470 424440795 783752726 666226212 659539377 342143070 883792708 155108272 277202101 160843346 640363723 872075749 702940978 848292952 975432708 190731322 351395448 443364682 671382600 141893001 703815470 119221943 551184785 464038985 198787023 731065671 291569355 855023035 643694859 588012613 485040227 617618812 447627962 389046881 125539413 989872344 819519927 755295278 105927971 961138832 309065719 444373877 590750322 983165139 300548781 349179196 419023740 270155011 243284325 162622755 126602505 162245673 458557922 540772428 340012291 162037929 276298575 957642200 586547859 493726445 497756439 598450465 545159365 185506870 116076952 762338801 774098109 453662760 962303775 214684768 217703974 616765093 767963000 911120240 631640518 676326060 172710441 399382990 661052655 487302126 235309979 310872757 607521010 369380195 252988788 589952181 196838119 694869135 348736203 842820478 679578782 691814621 850386704 520030770 104284232 211503591 971555541 327331235 670708828 676457297 413723459 855968633 436138218 870432464 437987262 931811862 416184484 351158727 632941701 657794360 528675898 852907850 915414721 535017411 158749656 422086101 507563422 545032700 961774957 903379541 843045406 655825092 844487935 947438928 839064786 768778928 762402054 165219131 336052943 496427875 619782369 335877059 747298353 637664803 185421723 963012215 415950342 614267567 167726266 957583920 745735488 239566358 816702022 379397353 778684090 407775233 523933684 188891436 200803857 488403810 448626057 489376208 306808449 481024983 302644746 676234307 790178125 890688110 719525923 905023921 768384759 301263210 909882816 895891423 387333349 885457630 492339131 683164188 664818395 680858966 557281790 162009358 251363479 487981953 603960995 229434021 327793207 605712386 657448076 309189073 443516021 433138810 383755723 780440446 538907053 186224741 571082485 824039950 466067926 453102967 931334937 892483727 389843024 776228712 116672938 152609045 886934323 685225671 759377301 957830956 507356482 157493700 367517299 605806380 317994434 185776002 402821299 945537420 913894609 566747706 223248205 849078442 350582663 328954431 307605015 779446791 101032345 536142516 840861314 723963665 917985956 512339353 809956332 618636527 453535794 305675266 302880646 187854135 429904256 131276912 614402140 597984003 406629285 866625851 552374724 140077499 309933395 934789362 869800295 761024873 895178905 584108411 536035900 400098487 607770175 631792167 109355251 818485985 364271398 997554292 686506225 545157236 717969826 928652180 627277678 591784126 390993751 583755716 528277948 448607035 164190558 707310293 945783727 151511244 319311956 796834581 660716389 438766648 594750429 969945892 761217094 114181911 659156305 917715018 185999867 561058672 880850820 778756260 192765867 620827059 657048700 207782195 278396511 896799185 502183257 850155831 514903287 738156599 444279980 152010769 653155589 935182709 701879831 647094017 726460705 607077519 928618267 898965898 343345097 752454503 882049803 782344208 464382657 481236042 682796675 260972661 157195895 130536669 515260831 303061467 990258186 914129751 610133301 713587834 371346625 846601818 164009596 668879408 861330638 766397091 162995722 260691439 841689911 299976435 339448420 887509028 922000503 720269164 620020483 162645358 185789044 393550664 642664990 378179665 592788096 208379833 435406456 151429778 128603636 894944626 970835082 773670022 643923462 283067401 552252352 110567410 424683381 867056513 279916266 281424961 874676966 284571574 707296958 762951932 527810840 500762734 804254120 928778426 831286378 327547372 671538156 255059189 369301292 756716761 812503668 634033212 514163426 500553377 316260198 741399570 771173418 201622255 812125995 216097841 744420796 458578389 553196887 149471133 124575883 496580116 827783888 784558174 342625880 937489257 874370190 865757268 515115438 580889615 628666620 443419117 441074574 917759198 132212524 966921337 442803278 916124893 268349695 913154024 923633673 995729898 214937628 539263839 358222202 977925084 224209934 965570219 629361497 366182549 592692425 759773967 120413406 822990042 794119797 273850067 443624311 638461060 641782748 442206159 627987156 443434574 619067725 130235969 755889719 126686307 603432947 500002280 781883447 139645466 292926344 100168623 689530774 699818310 694975789 313045218 734939179 161678184 860366766 766172668 352475309 579177923 484853820 265234732 537796141 542272983 596693636 772639914 754878018 800007928 168722970 598783939 795962370 753530529 324123372 499212984 499777714 879839642 363952866 749150773 687528317 483029157 166622130 809675790 444823790 736511523 581747333 594481193 959803699 966007696 193841441 949519566 688606872 276673193 581181761 348554263 645558221 354879948 143701982 556943554 392641719 891985409 959930239 626045746 973927152 838511079 526292370 351873551 426896022 494418555 366341806 779031005 501683465 988592354 599980106 923610699 587941205 601593600 426430721 337651356 236484213 169083992 903229697 340938549 179996594 567314418 204356797 503787472 443146031 461347949 864468504 946909157 503913925 416106443 450634471 136399437 145412079 667727925 224470302 104576558 859321246 436100533 536388895 896805158 741285615 739442218 297882461 563785139 107950194 780214124 570105384 482340864 940884332 146756101 747823785 457920598 115287851 611262777 351585247 852154325 745117046 938392146 540790014 122386351 350120083 255103595 998781052 490351467 650576232 106952862 780830638 526614127 715392566 850370865 732369679 396673459 276216977 772534031 906034883 993673306 966351154 865140673 733810676 854131925 407774803 154230310 294085574 328648040 708758624 253637319 381097991 432435383 625878780 394992096 769734245 368638715 503912171 829875519 515336761 815738351 862337606 443938468 553168977 215037367 161514380 249957503 184738749 144623017 619899693 517770689 847986758 108328324 666448289 985301158 493055853 821631476 594593061 339676807 280577459 709472395 296427671 838328660 105081559 405137974 960373151 747757666 575259333 341136932 255260882 459064008 139038899 221152608 472516051 762224692 709170219 104082387 940948632 978734675 877905074 990770766 955720525 339354942 600708712 203594109 652619948 301150949 455435934 551895031 624260733 118874734 689702405 872797247 917941197 791042572 188143705 174290540 730831954 871156850 132651278 732227833 821451979 330572360 772559645 902354299 389673914 567048947 235867468 169842898 385184226 754966423 873247106 126571066 241997193 231872706 312208225 548645574 771901985 570821863 279432473 655687593 606820151 575721554 398739296 240103099 123570162 538972121 185987764 912188533 298483197 320553736 692487041 396392120 570277451 828945321 644812080 745282144 692685034 165387971 826744802 452516158 106774170 147653321 537761883 794503639 125959973 229825029 103096429 354374760 879493362 921428802 479471160 562312093 417453390 599648287 619009036 240737062 228555731 974436660 435392199 471849584 668044060 787917935 660181885 326153108 560577531 965800048 959934484 201819918 635608945 479047981 765306395 994348317 963409760 546042633 610517787 321597514 829690258 278996755 115225700 675024235 408027246 442759974 409044742 213241166 851069549 472133821 492653172 292986606 272434514 532291435 819949860 641606248 113307122 649200359 231542424 645236825 320164899 106102993 541366879 954824094 765859367 347591880 519490196 451465539 464653278 239527825 580527662 109337527 827770122 401697684 845354075 132381907 758050543 684195973 759634847 791678652 234449684 321219124 858166094 922956974 210990658 595829108 653911755 597894903 569174553 104595125 341668816 960043448 103366185 393119271 437020849 551250879 279577041 768970645 491487986 191485621 608570456 716628749 101250465 481560168 762968253 484431922 453171763 410004038 972255643 747574260 403124339 188650135 537817901 365759033 673861732 866601497 313564575 211796002 334308088 153613226 943249275 301101193 655240865 429922052 241781784 563798391 761077890 578828669 562683570 445788689 185892446 252267510 399254822 262267473 693699993 123584092 109617114 120353177 459287718 734870186 643058933 708545566 603439594 534842642 212177268 607543115 164477476 383494243 101546588 355583063 938787087 922553906 843547010 425489034 162239118 458554321 829468072 534664511 820016302 591021029 895001955 276012425 138937490 430183737 187766633 626202814 480251639 990947372 156348105 929785392 160567050 282397874 931400691 891585728 627663527 436149527 298924682 356142848 974487727 963588266 580465734 510187424 550194807 193374547 920732591 274534336 709318366 958093515 253816293 789284121 347896923 606207662 187480281 566661692 520671729 430383910 570629458 544267152 492057596 601242771 413937371 952700350 125462568 918938936 386290366 759254473 432442266 717853781 997033630 352054465 651461297 209167978 927806916 950807960 129976657 226128999 658979018 795656735 374671666 284263164 410581635 702040276 699017801 983800206 243672901 726419675 725139701 922116377 887752920 927380686 523810176 481636771 600894982 562681074 672122381 132783437 716410741 517752916 368862924 814052811 910275705 928775947 995167987 622579637 458848769 805954214 835823138 607308985 183324222 814137330 913676250 308660105 774020208 636590908 775412699 905947387 654324773 602209689 796615808 483133284 424060633 765788767 944987157 136644373 469862181 719863998 212945462 513885850 135552991 255406362 766205232 398323013 969458390 713818175 773886752 966949815 282184227 864927306 782251424 487462817 980000136 904779392 249681395 346165437 405206523 116461976 764971691 775782506 263535943 509411742 667358115 350805260 992664221 880370020 398806418 404987297 279205506 611967263 908251945 857704573 648215900 912266606 601518298 963428542 423039588 431492493 261069172 976324912 941220559 811387629 288896251 555165314 263078887 875311404 903353647 370962542 312132496 981620085 735467958 421637112 178416584 804117168 466465973 536258161 587644056 754038065 514673850 102931482 382283714 970479409 718249067 915458080 957811114 286298140 943836805 332958106 461266771 329534291 181915937 812559476 289104536 747934730 815479067 950298692 171916532 238397165 217967419 758696769 768916061 628143143 586296603 809937721 366650286 595869381 223131088 210788768 716447310 459465491 999350757 342363514 831139516 662086809 114815791 782140093 315830832 985604145 967949082 420553509 576245854 169447465 822875920 464941405 356112257 934258832 157770974 860808337 402597712 555979726 114739482 725001975 276249574 978688557 322021211 966518462 491761530 582311869 815030579 818798983 401515874 977665644 411795121 273025056 990203814 142369522 517168064 854463459 354867210 446678952 542804611 338415091 868604531 776013359 182529134 538523707 714957782 940813896 996556946 943394099 337100162 520908012 893682265 441294103 731384412 758218577 446275696 702337733 681585795 271268128 565342779 254550370 122400426 416377409 768700908 336167639 753605657 208169614 552490614 363066631 873457899 733031489 299538829 529365875 593189261 688099779 168265877 402175426 322570519 747533192 472642203 931157198 422788272 549751112 438162343 542652583 218426225 293561671 861300131 454894255 784493587 967717592 285758191 649907378 634387843 553461150 878628760 398301070 763837136 212128400 374979569 732835234 263247011 648477092 985754744 568046114 766554332 774044047 103355207 929241344 533452760 410500159 696657830 961602421 689233980 970660178 161497028 443264507 346920725 394896817 876214480 640686657 848275371 795426675 142473306 715414025 734675737 883623011 513042575 813433737 349643060 720813715 231479526 527452155 750814489 783809835 949094745 255370784 797111820 781735783 652340439 892511298 993031335 684447103 345023715 860224555 459431112 228903144 780867711 539622723 849559329 939867346 693734504 908695795 870983484 169275471 379796956 547818554 995748596 606378994 173014139 996256956 483090789 933563628 868459901 135708372 798148982 778143254 884111835 291806077 718233095 767895521 471123808 691638493 804096753 580086869 144141725 556166971 844584082 401514197 151572827 570161320 200562054 417081759 847538676 670335822 443762383 811030365 970696610 462986069 635382472 773882334 499795140 411926515 482912557 387908944 240014009 457140450 561853541 345047565 508907374 644662499 767622802 469490889 597859236 911776791 559313459 667960614 500107710 996453200 309955792 799375175 852907994 826240948 421869191 421019226 255611848 518810617 462531959 873200365 865917667 507729653 562464224 897538509 156969323 446215159 539799663 452427651 449238656 825571172 740160066 360633325 706942166 200891123 209529214 848562240 363878398 281544674 453025416 928081738 530576736 199152672 607961785 295760601 268539070 524127915 726060996 466913533 990607579 388158036 115009092 549849072 742251565 558597118 122935727 328406547 700036609 688637401 645734063 360462311 803528441 575342430 959254755 314125962 381542515 529693387 413391995 679086358 322190125 681263392 671880671 232827096 266933869 190120815 403783899 393916362 398371561 441591942 660056518 572838652 601371519 535376527 935030319 926717629 817529175 794920351 876258258 165293950 956564394 974683953 773916119 187848947 568021617 831106811 467210956 125741421 943930911 697710694 638445898 599966153 492532370 295161975 792265039 845428126 807115967 833755757 950726943 545566752 389699662 591087814 200361233 325368665 829423843 333218445 136868616 590933612 954320764 748001207 674307473 205410623 569782395 564362720 951533840 579700372 982489464 946618739 389292640 869020667 234681825 341350228 803029342 557703050 349161048 591697330 748140821 467937864 406891313 285562790 246378007 570444257 807988266 470625540 409208967 508958565 342172076 703469483 170282308 930734838 512912872 826488796 953285326 474495999 472598187 154541751 296252986 927309348 155492696 406492836 473040059 557683349 197856828 757537254 364182843 619474414 348049361 642010185 426102798 848307591 646676475 301954518 589788527 675146001 720726779 403624404 392579721 931270452 357458088 174064129 721182277 655593074 934051711 176833352 614992727 329379451 220677725 224162632 861068251 736817602 396718379 939759474 567633697 753213587 935034319 233401565 763318570 550685504 814327234 760709753 606052553 438768673 863903334 166925534 312065780 801335256 124019813 649925712 700532907 758412764 405864106 665868162 367030262 263463401 270686141 491187711 241626807 155256132 478903991 889222790 671619083 937894630 478661883 596908472 864673460 135090975 194892168 786253816 570517750 700505668 363245372 733668862 726883942 268084507 712425546 379720888 588942183 281450863 750501484 949477004 662339815 855337170 801002978 597843003 233314770 133743531 317108518 234910405 176227858 921650967 366801124 485972362 175247856 995844356 330182025 452930342 958614340 143577899 316822638 174343688 449604830 404655900 995401930 731644215 739501019 448303222 708503801 450488784 300083142 842340604 975346373 617044111 911254170 506007105 325884667 778134688 165250056 293320606 327977219 885489122 292908450 854935206 841162910 391393775 782622173 398152254 100461228 838993553 196785305 944191602 496077703 104162790 656324784 515890012 309919336 994678514 334896871 928081354 681626765 236796236 421874907 509396343 553277007 673928592 558803195 372722943 299276868 312691538 374536013 128935120 904818145 694546529 383158805 762891610 991876069 247109175 882667130 134018069 673140379 690098543 298360736 891824885 413388919 626930436 274324076 412164301 537277608 594146439 303406807 458725981 515912524 178817206 697202118 168723177 980006688 227132771 113699734 320220173 594645443 364532858 628909795 567222782 789434807 179091667 494255643 611437990 428755721 613985902 277952357 161220998 766710508 918596045 582723948 852102506 471119049 261820382 373792544 819430990 748661028 342769209 710459247 549796592 980349800 353324065 221246716 235219892 888913232 547618741 178641837 901360670 535231384 619826747 758195151 473083373 757820219 182323219 784168746 621750654 543719106 700627732 960942010 892541851 400598756 929267167 298853447 486557925 596515826 224921057 825788997 576370243 315856358 623709798 639151404 384470736 344586953 427804005 239183554 614775536 253192362 767702874 394837316 421465110 804028902 604043119 212455231 203733340 622429850 935887205 693718871 120998678 433199412 293642539 263277370 994448495 864914910 524661983 599429731 216529565 595616732 137014775 892603868 343986843 369823543 673423091 124114483 334335831 707693305 804035690 168033996 264185827 953061436 171658430 330217813 453573757 558266990 134512780 685894567 517965800 225744110 540362196 454942741 802614375 762320340 286859771 382802822 327397925 227624759 471709261 614412851 830846082 254224572 616106437 879691473 551413933 734704140 320090291 186401627 943832334 477095161 249320312 486574296 512639161 154328677 485422347 467401001 368553488 773513405 378842967 826164693 167809774 701830743 855856534 290415360 440219210 415228000 263926043 158837719 485985932 756247739 967896450 722871014 378815799 217424687 456109566 207481210 743016840 182839213 543583727 971936936 342667862 800790449 712517012 251430259 137556869 542546650 948546900 718270758 237638132 265467139 523300783 858615517 915101097 635027749 282520970 321964400 162643001 368882000 245375259 846874421 309779145 279663850 454797800 564065312 452299555 949849962 474008571 995030597 328503296 760613714 561573315 611639006 574074846 819596672 138274457 577646439 433374458 960970416 642311431 664267298 698590189 744576700 405338962 384809301 610798035 376139346 104549459 586293204 333723940 470174896 545234941 649282020 947902020 312188983 935407172 527929251 932580031 429093611 687441708 443104446 862224365 207519172 125546056 720711360 531661959 298162989 906650411 415999025 473763640 622202487 911274872 256595458 647350023 874264107 364503496 299361635 112278433 936796742 223496065 782853774 887792348 625647141 452222240 277561271 525300733 449408247 218688125 972765579 703079730 390526659 770726212 673636593 574256891 398576103 145694268 398678249 637272619 831098067 960163242 530910016 125403173 618609762 660742321 382880933 748388895 711548113 541210332 407860021 878579190 640156819 886728731 156895836 352486888 163059513 545639704 179218176 179788941 991525054 117502130 600977092 429557926 484656040 953774648 971721675 764076325 878566887 371388063 770183929 167743575 350398008 664368058 446738128 116812997 226657580 372181789 299198827 262036005 881990342 267609901 507650158 545054039 603994939 500964750 911285148 212954679 190086086 432379979 157379552 649645072 473697174 625732592 346118320 499516704 780854682 918830601 332864079 745534736 362195652 276528146 578371750 780812302 800075895 346874991 529899953 752474473 836254924 639749894 174598202 205984344 311356161 783041329 359634423 793000596 809256267 857271223 922503328 210607026 163673887 608564845 494912101 479636102 594391106 373573704 972686807 768371500 466183836 968363056 340548096 334774694 659358810 139668889 137749693 807849183 614972862 400941515 526298011 696036408 149329536 958643701 962666074 129912958 716861504 128727115 898905010 428247781 355230513 343021136 486215225 960024301 304167714 935708524 545044284 852429331 415549302 122507125 804262187 485238923 111139681 467545355 364739159 757600645 644005610 700277946 964799273 238578018 229513533 720283750 397321798 461926778 798281986 322090980 194522307 842490074 481096258 675293617 103411059 258470600 262605987 188227211 807656316 584941488 535576617 168230816 989888631 629118882 440069070 934486393 917439041 492610358 714595759 961750431 559934235 605195681 883992499 697018264 202501553 313081975 976997333 484816135 408051822 824171194 880615462 325526408 521290426 737525016 633931907 475956870 697280899 152472458 759666317 313552665 686358671 577792424 545818815 568779019 854747255 273227086 382599276 670843244 240218607 673096343 596713970 182975076 297788968 750455272 667304318 564296802 226131907 949163451 284458345 963265630 457779051 371151638 608034988 331484216 493573782 348135715 943920733 342513424 503942150 338357004 206999864 975065677 880549090 306602149 161114066 581861158 751186634 803297256 422958764 194799633 576065829 350203239 238028578 682882202 976059201 991260933 545903723 151141943 580229139 691710662 769202118 629556535 372138589 879168536 631738036 452440991 427510508 644982575 248252342 574088859 498291161 748914880 369002581 123518116 317864334 406728254 879862496 219321056 430402240 549845826 439326417 973450537 137225254 251001466 780521263 103924079 968981274 824174600 841372658 403102973 132439131 190833497 263135539 208440874 980924352 574188434 889612374 288543935 926889044 323763574 220890696 453286889 575736962 133314301 876992367 903356747 387290487 948971462 968370349 368851133 330599796 713714082 200818176 903538152 666876727 225553098 930273605 366264496 206843022 221838199 829472331 102361396 589150575 147300462 612058155 646938241 498156478 705378633 219881873 841098817 226794063 342229910 335481400 316446725 593479555 707547949 716536280 574395302 145571713 982092949 559050965 311664569 692376427 438567315 746797210 547560598 788275641 552496801 842618289 907880027 566975143 821416742 371773962 658592770 280360601 634588492 346434118 924288330 705377607 318122840 569899426 397970279 562917736 419647876 866062662 336173960 515493396 916145857 786734742 373219046 448308223 123056616 919784440 144903673 262287433 935120649 516680740 931628061 525428736 814006773 712824807 812569576 939803458 212035877 502496945 290165408 616021067 286859771 577607021 484985837 222757930 296910663 621859014 982747654 208271587 457191848 545289287 425723821 122883196 662042579 843357447 545748000 570736924 604130232 958353854 164110521 137697467 586588975 928424492 521106921 833960251 684278698 538365319 254362129 241595126 151143054 479167371 519209203 860389877 877197064 395736242 827122266 913348041 201544905 153916561 624221414 271214113 897870730 683373107 261865787 433254967 578006100 555373041 566378969 454276909 175193962 155750252 777471266 423850366 900077168 812635992 390557844 871810026 696701475 288643790 134389153 353247035 172901631 290789578 539717055 987274207 657631124 149711091 667895270 514648542 403850658 855764534 453597887 646435043 932549048 839925197 726075193 333104016 669646899 417539379 357728845 111862584 170622949 756613821 471187796 950003981 635991004 949971620 526122841 243296427 604901426 688595244 644696948 454464888 809934146 295684742 680793421 938457969 874883187 700097552 558316556 397119624 249018712 398338306 897282518 725426049 772693329 995501589 627370410 371673051 648541412 227413444 348935235 235330555 243693459 604916540 914859188 269139352 365662648 659883477 320322126 978677310 455672966 217131252 960550904 342393325 279684229 299017281 956903101 518480477 151479768 525839986 257683582 538390035 797796248 316816826 724072262 703273706 125371216 694451794 537745511 237908319 700754044 833996288 999706235 411167570 915712302 690212053 718312472 627598613 521341299 584934826 785232836 572077168 882596756 303459636 477083456 702127047 241738241 197667008 565245684 303463056 410834342 116743318 652117612 536023376 132775220 639995252 316605462 120529004 803604494 645557699 629656689 270940360 260671194 810912796 649658707 917482587 188668135 880940636 843596188 259412052 634790902 650830611 577509562 732331738 435155882 299640175 932620324 643293063 173395535 420525723 539135686 198657893 550198083 197551053 956953471 712372223 479249662 688832633 734478095 859907462 392029018 193875784 677051680 625073372 664075740 430192743 301280666 280465279 837798522 249821995 162914212 390339248 854706863 158143289 511635137 404991304 225480250 194280622 444225395 830550060 676214107 324899007 170136264 656613833 197140351 611187771 787605536 624966739 944078005 704621995 481763999 409492034 128254048 219097831 106751750 964342114 345565211 248270497 166614528 772084342 258743964 401301811 997406881 865945203 506270322 121009958 693804025 315477567 279549820 511081691 376670745 409755828 945722430 486448298 663018758 731593878 510040663 652176326 684466015 893500479 981108523 556078905 282197390 605553321 486275328 884884616 555666644 455042497 341227131 632470836 586174686 405704595 364321948 175987966 814620248 316582356 367477472 833999419 781670039 973611137 952540185 831872246 390801458 387690653 481894747 470357084 810224335 942685966 143055204 405589539 889529879 208317643 778512010 838839837 583124616 677523009 497791314 446188971 794734833 409512508 863648167 382686507 548565859 543124472 913927822 649103398 531232522 256274046 401152602 994231271 432224796 459784589 762173167 598984443 409850614 160502931 835179263 727131410 639413137 330221316 158253609 196391249 790697738 299561911 402075542 225566918 632588020 398978130 155774521 769496296 423268783 280940995 918485033 331874781 456319068 554515274 383144447 522479229 253539517 823735537 822791390 367417257 534004206 274479565 400609079 578999486 305311269 596187079 260787911 632744092 872101576 142846196 106132485 890880853 630597881 164691463 323622547 804981733 186032218 621346536 896252319 829633304 297201681 989772271 841866998 827024446 372951719 627360017 165601854 921805059 338716853 561852877 924409892 449515795 110398786 602308140 731365805 106586991 147803917 393674296 213948567 944101498 648326116 477317612 153199729 811808967 718692046 338830374 984509454 625357968 259327489 639263044 797194966 625424717 121055016 785940956 281388428 532406875 483798298 199327783 471303241 639874399 876392812 801343284 234600603 896718634 783258951 267765186 992248702 483551761 663101612 584615579 458451548 800827452 703033731 833799431 687302190 752265070 700562024 931146492 292225502 818484525 897869402 292077806 337089088 843928079 538678155 143079492 381083867 117477091 859792601 583036926 793183608 572894074 299134545 565846433 506004802 986379150 735494770 966318982 476822159 905197346 835702205 694850174 901060428 282309404 620315194 658689936 402193794 790066933 514583574 109574722 732736578 750092235 840493345 292404112 690694364 116002722 130974864 581217545 166350217 654742727 247292124 333055316 244217531 790894054 433375797 848551285 642041002 149277196 454522993 904239713 332656192 867160035 528000488 296964565 942321055 985045025 723314262 457378081 917235111 235674663 508508260 534440399 337614998 748123436 920771263 962883143 246906436 175484432 190719034 255230566 866528464 590189277 558603231 139741063 258480525 860518120 138619463 729353645 604857526 596798345 678620985 424307979 111776022 772367822 207167237 946148494 295425351 776933859 309433210 372649409 334797074 421067192 916717089 835871661 122749454 444196351 490492966 321715588 975143077 527574353 494768258 388707688 982350049 818263705 243675551 777115503 910781002 860700640 695971951 128974469 844017198 695183903 340346319 835927280 132155186 300644589 133676220 335131628 876178937 534389680 416657857 385098698 771550496 738317131 576730285 798575630 929485526 842585220 478423002 730317550 224456668 414248918 884261665 615903352 234131031 133371424 914653554 374294884 554574611 508211753 533727520 567204820 316139340 680544400 367147443 663717864 768776182 834319997 736232129 755929362 537411940 720216302 185451166 157409983 542712215 993964533 153002501 455873452 238997801 350893022 222744313 201261181 435763129 939533077 661270809 658720874 990436693 619132305 437352384 302521966 379956518 815596668 850826827 467800148 209654824 922317959 737980037 946984077 236878434 494084612 617019728 730441667 243399608 338572572 698013375 645560857 816918760 553827019 838361892 759405777 361002971 107844731 615720564 335138935 204522878 810949242 221702272 567738858 170155586 504184121 796143163 132225814 820176930 569425613 677320824 549299189 931874138 633699959 975376787 341811275 908209919 100654483 436625155 354723077 841879762 366728082 637797906 997458707 982996692 163247644 988220141 945626563 274121213 890375883 505217310 301339818 382832284 699293242 330615162 356278072 908770793 811526300 964472262 952627329 147240011 749451369 966807328 691934767 851218239 878018107 786993055 746899275 183007142 459096628 929422538 395832486 305522633 561180970 614022774 364494418 567705941 754298376 294470313 562492383 204972755 895305718 852184253 241962865 765788274 205596212 347812813 801094126 816242659 494120471 362812534 791569228 831124190 290181698 914255568 408249792 938543355 370299235 401768467 268052613 601662962 808427334 649336694 249721350 545035723 233604943 774367595 252883389 926094310 214875146 691080021 673939704 401767377 408819113 529421904 756899864 962934633 596562729 899230643 673689832 987471362 605190772 126428080 750668598 589260968 672971976 557781935 208905002 452011190 663486110 908440731 101374655 626699919 738511581 913524644 924088431 833257313 335633693 240276638 566618035 989087655 328852107 329890630 317219330 392167071 247429165 374757358 108475072 592413847 961018394 845167203 915118110 427605712 497392885 238888163 506119110 373673281 378635272 788687306 747305693 653976417 886435747 996390527 652014581 791291032 447071743 444630119 497470557 713855357 836010472 587880198 840579329 772495329 419187410 545499865 231711510 130509441 670098469 356161386 127861332 335735879 294571981 391628938 791632164 695079655 322961186 385936403 506236922 325836429 765163084 674566183 959797020 824950067 174704364 533214434 136766086 199085781 430597734 122629145 805550681 556542468 596410153 990286573 477730368 797059137 695487849 522198159 981480306 652494386 657983470 501662024 971670889 302038534 561544634 310090877 365281400 781177804 213096356 653326844 296323371 864642153 695997602 948010631 416149162 828535914 868633433 511428269 188065655 330091546 745562695 391029859 241712873 724687410 782337875 247350625 393396397 970671211 506354337 397533534 157677969 311239016 390877894 549291485 371010860 984857092 219067950 894961496 732085799 820121171 190932459 459359756 552642397 474210333 325440178 570806804 605495899 193995059 196839391 683400647 889542026 829608444 490470282 162974815 647280018 957971821 194759789 629867129 274966892 420112407 401318444 690565678 584421803 477330776 773454039 161175385 864013580 289154848 653123395 671698601 336446309 581829467 243514160 997285847 690605719 600715931 564530237 737010783 910780759 930406339 912283184 218947461 212588392 738171244 605852125 474736042 417827749 311008008 718985181 931049544 948307267 945728950 233587017 712741720 240226298 787602797 444701593 505200433 980569919 675272826 530181627 232242000 240718032 280804275 956895492 378733201 353383819 864261165 192066172 757248501 469182644 538700916 635847699 957641773 835611195 300265648 364002845 852658741 597728622 100317823 803592443 899178048 846700651 318246645 169650777 233380118 228955809 144837626 488998744 255961757 727564399 881753326 795535768 348888326 307046678 144553534 929581297 784974357 519364886 790205174 194871831 423486131 313988055 759948594 235423495 489293634 943749342 497723516 441535779 564754979 875574908 540195941 189906596 538579681 475358241 625382953 946662506 105295169 336180879 942105270 276572976 529933654 302701703 965736830 579296947 658947726 327029480 753397196 495981191 231309806 289563239 484981510 532697306 211881462 112508191 619490018 120262224 520255038 941610388 579395704 261346447 832537508 724466036 880449034 136668541 146582848 658650849 458945186 966920083 843799622 564829893 181117848 196703865 577077735 947167849 649092365 672219058 494542540 930294590 146875183 249567020 332330123 844679130 514723032 697890010 598707098 520394273 819890615 378974955 760833813 417688737 657694321 534622621 943931177 403289821 426712039 837545795 863344648 765837481 941616527 433589312 870181831 523742511 351201212 708975523 732691192 240052096 407240131 669300946 439345931 269593842 445423068 660468389 989462168 744573431 352363045 269404340 157442888 598598086 300520336 618453746 514860755 939249180 863124326 245447142 731357684 796561016 630515274 171314683 868094817 152914780 319535816 755978610 808561019 526091504 665402744 592403247 571031466 546002852 781954265 817693101 402948704 285190839 682669807 472363504 761335974 963195751 847020503 408150601 973496567 308774700 888245070 550340320 799677457 360936408 410557477 517944108 701269648 432801509 130180423 545360355 641406161 404968259 730969265 828699474 630888954 728712169 798475068 501369273 397498239 571289262 304688195 933135454 643472043 742658491 731796723 758335528 977320225 536906313 493133333 317239929 465733501 674434325 851247438 466755993 405856592 739439983 924670749 677297535 398716623 406526240 314100097 356373281 472606978 981153089 763966057 540072525 785580850 485956020 896240924 759639536 272366627 115664098 788797682 905701043 788852729 739529610 111469141 716283523 122161541 137010716 516144337 970982795 473656098 120159502 160133032 708540871 886544599 526978297 603565245 318000603 372557022 634983711 525202297 766323711 839150474 914405975 215314036 928779459 679746862 435517141 925875857 919430771 818139358 496704575 654867017 667708584 764516016 798903147 546698100 877483570 263891853 792469378 454077608 269751809 424676823 700559864 631336395 678590424 636586558 807296931 424800024 678115728 837269617 503825535 530088407 836470101 966355117 945534811 539332458 379449147 293074260 384106142 248564227 351220294 934317611 806680511 694215713 202974326 203016039 515630226 338717299 891108573 887314873 494629390 495452879 512794714 225604083 501882680 782368813 427947326 424508242 643409345 990360072 662534190 384285560 302890399 196333271 673109891 851719031 641958322 377357654 790577570 746917017 446358121 670508138 739943426 537327129 491528706 676372065 362019849 361194384 822002309 490166958 333615108 777722150 437786617 797016117 435621375 240706898 758624005 530656157 447804634 147203678 686054010 711456226 305968231 549658325 193207002 948803245 846417744 683196130 644615647 578994557 911999605 818150557 714582769 958976464 122852155 894316836 195000667 110301642 824826978 709340259 376576590 668834988 447896782 272232194 257567114 117347395 397565489 333976759 674067502 983289410 331913988 415797089 553632200 657700135 295484455 242772046 757848704 641197329 741677922 814286481 297497636 616531669 489125312 474512278 821355967 931341881 542795882 975805379 670111426 235956999 182673355 485202040 731066718 725807290 322824232 848888641 345976281 438798479 119144160 842985318 687671570 453715140 182207011 135144605 898402610 291128200 604402737 606323718 848833072 171654665 964127471 118743963 644955582 852634663 326400994 281145400 453838049 130796166 511969852 889928642 831074484 944795610 549734545 347746935 560954388 118121536 914922679 122567512 947517765 758560825 479335615 705222396 550341220 558043267 301050365 845128060 722473822 101480967 987288395 788047730 785271754 841852568 296423859 452469866 667467780 642794573 893185169 912677306 378758749 666540046 339583460 389719860 790363076 158609127 834127957 381671165 310347867 949425986 509360475 148070445 576143968 412881364 192097379 771865943 550251490 729836177 507281969 567582761 800982745 305624850 404611404 916145589 927334927 894745700 283329899 191221052 528172282 422425990 654214235 946145155 201303604 926728301 544555373 796089144 216404051 474379146 988574050 775973772 878402276 148441947 517189357 563327183 319539011 619283317 993927985 505448316 805971953 922552264 638980362 703776811 159305312 733706994 150213023 686557467 555849728 684932082 467426525 701366428 404326981 644516794 487167881 957626704 935088514 370987546 325721688 507858116 281530281 575680395 207429535 193487747 959871635 682081374 385180173 368805157 699506888 713601904 858745448 728505801 619831364 437953268 996243859 780235815 930360809 783210559 652004013 845004035 110210017 265139968 369590740 331851830 687722261 877994315 313860982 196936446 629225866 729366295 108656951 597198208 967346604 361335303 276245515 134006313 344349086 764931305 480620039 624591879 537849489 803795106 710684586 462332289 836916279 467706427 970647979 143844507 708937223 727141781 171890035 701322905 915270036 112878867 277036329 587711010 587524222 943096873 919388400 756715203 172424995 492197699 618636834 167337362 706823795 112903225 463319076 306568568 208770044 608049308 204279416 973618996 200454075 398493352 303297642 633787731 329080836 399660125 170648286 148382033 122192338 168910976 983584529 510407396 995193690 520756564 633031496 792560509 749615603 639908767 541852653 258771065 365424749 180333261 324704634 399949430 888561447 914472148 218475454 316169920 872837932 877671945 833745032 962006868 960516274 341405677 906362325 277575675 548086950 395123890 105671381 582197506 434378233 773404956 210517579 446209256 723233567 450671370 613771092 726055947 809838159 301584450 264344324 393322142 623093089 197022102 936694432 649292391 874821466 150416225 608057276 967446545 950816776 963315322 920463117 354124570 192605236 182508759 192869668 358598736 430570649 752504704 405282474 448886847 908003185 724146224 217643854 640038064 394115986 460183835 991306697 434435800 813361013 957386249 551964957 441392188 890773631 625685899 213996565 380258572 525195549 809640471 253995820 498681043 935673292 616801615 909488167 770787111 545547794 558196350 201771591 957935448 300406287 732259052 519200225 300826792 238026193 619862659 715225582 591793771 438142165 367123812 957337240 702103584 563239720 774263729 593031482 281479404 893957815 159666465 326149271 339727003 421949579 727529600 828511160 520787923 219049212 551758431 858558374 158572157 658203838 136479046 785056486 744796585 389596737 459687836 882207589 344289033 140560108 571281648 573049511 892719084 308321994 645793350 335363099 297472646 605281903 319918848 126859426 159247310 327090220 338782459 765910638 120880247 222784296 849105327 744713072 598193029 605671684 708535106 297379827 900099199 916526110 380134233 480589629 888491291 879319881 810729828 391658141 614760417 756044180 265403169 658058445 639009681 284759181 889994365 182345042 250684130 749918239 281499973 534468701 349203933 814231372 895000820 792751264 253207693 585453453 285723939 490459775 984687670 235603785 542156750 171937546 824433669 814602534 538724758 256057419 994328710 416988650 183734598 883654892 573571068 710405954 805731567 568626973 625473423 280812805 165417055 804411133 830473742 474067578 894164298 160231030 829120611 365189620 595129242 991292651 768401776 721250719 270069532 991040789 803204981 165382185 555420281 945243907 256524709 726087901 696301348 396179685 254365876 163532783 487633655 399288642 885592268 526021049 706118154 815630656 518430000 808700684 780454805 315078023 195999934 178685792 191170674 339805554 549775755 683479182 998553888 885706676 553830255 577365317 137288890 465921016 449853785 603786400 674028532 720693114 653598557 599748926 621158768 816008775 154593010 553797022 596991230 191461936 581262356 946820368 721931140 794328400 207905911 146502321 445526655 834657179 229043046 732095113 266567927 916681493 243876377 228687288 554188589 602460463 662723243 696227365 432689499 866986290 612476727 827102345 670823422 911410825 368491884 279743117 482139420 791956338 660184125 116757964 382061105 439176317 317285127 728293313 831177789 118136406 690626971 349128721 540062062 490738690 787412870 676003339 815571669 977147304 415627914 962038868 942665541 952518747 450546507 793180200 161475610 259724775 942110194 847842360 601384631 836920544 208553698 893753445 622826819 922764489 494387425 533544580 840952045 528367013 241033418 475414934 216827163 539357747 302431843 535106764 634216728 129242307 975929560 526570655 813553293 240844078 146479778 504080383 183798809 669274605 362303144 335230318 926293109 607215780 257547388 433838911 525885089 519558150 906765911 592294978 362302169 614789311 528459232 671650119 726608141 968191035 101923985 593490534 104916095 750759201 937319244 699827210 565097045 818354571 692043981 736614354 209121561 346887513 805274911 126364624 714829718 419845007 793344192 671801313 524260807 681856809 861089062 514293920 727313330 492029439 672858006 951221447 693021484 488715289 934565110 727028777 658815976 266757100 703477490 476481971 982926614 415640013 743806784 312843389 719416819 157301646 599949965 330424725 974816712 370410576 292777098 428162313 602097337 278257939 717004032 200287037 534914457 268856470 880236898 180122040 947224547 246152583 836886388 735369695 229244225 222199466 959789935 605979670 507370488 269545420 860436643 922174408 714208271 962796637 308300317 383823978 601934483 661258698 541701926 808609127 545137012 482319370 119623425 702534450 444519464 223174352 625208112 975948478 593554404 307332058 436149019 484241043 813678965 624868659 901551609 804619052 979297991 402705973 398443627 571549972 945169530 230831141 466650544 448420670 159908385 549919092 542589929 839271956 178951221 734068029 190370563 443749267 789364559 227054036 828343077 262267953 525175398 335512600 684824699 785531486 526484817 683709605 156339681 953604526 923911296 566777119 151274980 932169352 809554168 630614752 763416198 110670161 485259631 633175856 513133728 472253317 530901516 294233561 380738013 904024404 858016162 574105016 558882284 897588894 220498648 497891633 167102799 328079686 558978221 135705822 424392700 507562796 823635124 603144641 300395931 687868285 476476091 470605095 162253291 459824322 715866895 770154728 311088755 948736892 268056453 939823282 446611310 781560852 271037425 122701978 187908659 452359027 856937436 205908860 137251046 254397203 232403717 887542643 899282609 240557032 394279886 166577654 562932197 995306940 667940799 826637240 838274062 922199005 905169499 225370981 138699807 688351543 678685859 582681351 121650902 837327966 769297359 102922792 165446345 942117848 182704456 809276729 392933580 131756467 762253474 320928078 483941986 824161478 232426361 690995079 189664347 585968574 482154237 551933006 140486742 432755790 163773486 882409666 947676753 246143514 851785689 879160204 529034763 860683896 111609904 270298868 911668137 224217060 339966646 691964110 586770500 635135269 282913099 279356962 996315775 941171229 836604379 902539151 132180765 897982687 641690293 928192937 331383713 637297848 828500734 754996459 883365407 811826536 691934226 510387191 175672015 935792345 442301132 813856956 952886672 909640172 105985523 990486928 858491069 787585636 334827842 519753992 705181594 894935743 561433305 945463906 583490342 938448673 602716161 576131200 760737471 622274421 871527842 232885237 623255957 777676343 342370910 237828777 371538065 897590910 400853764 665411684 543857547 935796001 140702748 100723199 691293550 558602329 161707304 234647037 733779377 754884848 614742289 506151938 812955875 252262819 503927280 322965152 655614009 276754883 954324924 988758205 497481453 918480656 294304896 827731906 932405765 743418107 562836496 137518446 680193794 647735694 512738593 998575401 590951914 298562075 329755998 709633122 969889748 985060459 307755957 865991360 317119381 131189028 469719841 290528144 801806376 664645342 666387487 414973993 933586253 599650058 475040655 629376821 419258402 723148781 938081875 136315510 402138608 727249849 260818943 236112498 514562220 160792458 941558820 392210220 791953963 361588217 838090099 635558961 771238855 846902479 408938279 210432773 255060939 613850607 488763006 514050659 556307631 103898020 783897549 573816975 357816844 403408145 615145522 463132159 639997668 864631177 609389773 388138621 287505721 841925275 286914101 544595277 572051646 314149506 790231855 423368792 381706239 923467598 987316548 395461846 998992766 650642411 200420236 101507228 122407080 760012200 689851707 606530892 863441252 387212038 167578761 461872760 877875084 523227375 490676230 459005999 249271611 131453144 980480747 203471153 534082271 994362000 319341850 836665082 611573130 258401723 791495638 731010881 343032419 633288144 245004114 829963480 217765814 268370889 857237125 424345416 473940002 499260679 161071071 108345702 409097133 583683387 787361737 345236781 365454111 291243424 880003746 679911256 810118936 702517537 218339423 417752324 193750892 324818576 389262259 802167285 202858673 289865244 935737467 720948729 511372449 382085532 429158009 843153678 814916155 866447998 487362420 919507725 302956190 554642324 863154463 217271151 192679169 193075542 208468347 595647498 618015199 663073678 263249388 149399306 337937778 178242884 238605879 113733228 629845965 375272468 472539697 194866031 633391944 978299534 625762788 388465264 863646212 506991148 510518387 515629515 925770659 353475758 536097498 367666473 213948974 144525239 171337494 820120600 371278520 713566027 314893930 871707958 198440134 449142317 680082784 387597214 595931351 136757292 187668562 521818320 656997626 713426887 874348426 726865260 478683029 504121033 703897801 805406823 486833983 413330225 364235257 437313932 255072568 155111074 158183926 753107137 970252499 101613659 925196298 255502314 385869272 670531395 301321089 323189723 982068529 714758996 418361975 417450494 836870710 370418670 217920658 677820421 336936860 555766956 623691233 530375462 611854178 842310763 646293676 641276822 779660031 761293995 418287089 962236452 906413383 805852697 635811413 106946353 265998054 746892304 129790971 753943596 575312884 113763818 653164251 934647798 448777630 304133025 357182651 272642788 425605305 326561112 162864075 219372558 964459620 801659402 160283216 274643224 194117451 871333072 975657270 120481638 366916338 941917718 305981444 467063714 907233315 508307145 897227033 286557003 579516988 878095026 633421908 122358607 603280084 215987758 793538492 522314156 608586753 353271977 436966811 953162141 431601724 411441185 556933967 306175823 878778927 758686907 351578928 220684427 620791985 431530301 482719739 825571637 378637687 681605483 574838148 892683423 684750113 749036154 138573324 415233401 865876758 557544739 473762849 116369603 529615959 118546911 601287569 565369064 965120222 532547325 899757479 766171439 241039425 313508497 307149391 353541529 263761399 312048817 840497567 646422469 390825077 663412057 235037613 844449059 336884157 672364963 528575614 287941529 568074170 991571658 646803996 376786563 814967155 868048133 427277694 410026038 828398995 789210309 195559394 585358798 686955076 454210930 310083348 146595640 150075716 511281633 428008526 179005170 831837617 761540312 220187594 984699323 381525803 491662309 786117796 484400706 303993719 474752824 547261990 599696536 783541947 300327801 468817250 696296797 274582011 465534066 610785411 504557311 264688270 903913956 930948711 162718234 984979584 202517580 419690804 609359683 205657839 686104411 162363356 949863639 503282086 381613922 708916323 899189743 283161918 294450649 221825281 306208557 487117885 540000290 682427710 115830444 162590021 406174188 405278303 333883239 932565897 544986267 633254519 629113847 758702605 632108159 726263879 472850423 891528163 780023253 262042467 314444361 461934971 473836294 880736520 888701788 789674716 403348300 582195179 927893917 713650369 368034777 108190441 245870176 143834949 393177116 757013748 231242582 430952736 330697292 332457480 172866841 970917804 386048170 815121165 338251877 485076273 310711935 805789662 516167904 750183007 768729626 246896068 767217757 571469452 690428585 744735859 633650096 760083503 721383520 315849022 253570076 204307006 886832073 620440420 694829441 472413240 896027713 286473441 173384740 449487017 111063146 430178629 777862051 597161868 372935004 350974740 525117614 492846833 468618948 867212608 828559849 599115985 135671778 721852223 842081759 262605348 564587070 237016414 751321621 993880869 591436855 260027096 806139753 790476619 297769440 368674730 692326421 721631342 477807183 405885137 967528767 427331009 242131396 347471697 928683068 274013743 232628237 649455683 975117551 480273539 533602682 361665610 322701354 643037622 370002228 506091909 245097350 313203874 428468648 138690034 471556714 894975235 552685607 996644236 432394151 476425582 493973111 349028339 168298797 997342029 159335679 593709038 852585690 972068078 466815258 511493375 324178801 171707877 717557846 728415545 554665332 136158558 418838900 577854484 811761976 387791308 520398902 101525094 542735901 657105134 567021496 652253805 190544471 706267051 948168241 917598808 787508266 843348204 343244379 435598205 923011311 178849724 212550791 722960327 561122032 736634502 535671384 112961105 897111353 680188080 688786376 229301845 912524112 583643406 182515591 384595363 482391171 318061215 278646105 908298741 244285888 743868487 187348304 796098642 387016005 166896559 137927510 511307099 753971278 486718149 424519589 991694090 609115774 108851785 865157297 207474534 812670422 460521129 513461016 478265377 525401365 165741276 452149641 481296161 777515775 866896601 846929367 323804149 912291060 204425285 943031764 525907442 215057169 754196643 971976084 690207908 640912910 980956551 473568844 395177990 142439851 872066345 209050650 596644654 297285461 776865190 693507160 777418481 235631590 327949045 255838825 797919923 317913323 895531680 346922388 396671212 327666194 718172283 228625380 812323341 225349226 201642871 496868257 955504668 918875437 408900045 156660801 613059354 627072015 708489185 182032933 209557734 949350810 889708712 758881540 714408921 880783646 990140049 270686921 774502319 492360622 564126248 916739789 973061571 463307547 795060275 397406518 458612599 587088728 551431942 902061879 802813867 640610289 285177738 520315379 282362462 949139124 176910575 501931288 711384224 934996919 900449694 212989725 555963574 197409359 994223393 642154714 249098724 431758799 889660235 318687136 861893715 499489572 583285840 666432767 347453258 194492094 806824882 714793521 654559360 568486027 235261464 693695432 517679535 449917217 618840571 270902027 535642823 427499394 875006241 811981271 519839377 159510884 233517678 509791087 633667870 498960708 415840327 854849798 525135487 405086896 261390624 889440540 645042329 338741307 572222261 475744690 162048448 967321613 385286793 902255763 250030654 481955690 526405132 251503914 948740633 192019017 889732578 594523440 929293689 421720274 690097283 703835598 241296373 546894475 809382951 846449966 897336325 983658363 637048803 654264606 118058015 652027262 182501408 207275456 299069804 180660814 456880928 823599825 172721739 670415677 901750433 116475185 437136503 499623755 832589818 518115179 722934015 408179856 170882719 328848231 990476362 538976530 382880506 917002576 889022121 794401306 208961445 870675001 768797967 336322788 626118714 782333220 112170764 518583278 948861151 370910534 594178062 420287817 872752559 823883310 895117266 251529697 841231354 714997122 364589991 479997364 485217589 159619477 727222311 891051135 578323005 779436075 782232030 939407328 675999495 231864215 806503389 615800282 663762993 816789209 142732262 923783992 210254790 841369535 909219946 363087866 604638453 712208835 318078641 730734928 121746800 653560153 505657167 591695416 188308128 253436843 374151741 268553462 827380882 291402904 556818206 318193565 846069327 754920375 415985335 267020757 318917168 203289558 401840235 688186584 174429377 174753858 930636215 256800657 929221268 106117359 293452176 223542223 278657867 644991475 799776981 202690422 586777864 262062959 941921334 500192996 100406191 719215148 233818094 398130470 762916084 925987579 119513914 219178715 827764899 218311813 339009359 664073216 783109555 275194769 788150248 491534633 681375883 435284261 929281656 785880747 959648921 811138766 525918708 487906073 198177203 485109436 630898689 318576116 501081251 160252322 139234234 881757450 482004923 459033221 427724020 368560420 774265559 960881623 867704272 828515684 775213904 552826163 656967189 929415666 121456753 536288148 262906945 490011803 272438201 345255421 427075701 925970831 561725668 339978847 242108004 810660420 304286882 638038974 908025268 838547074 392169917 154241860 240383848 514074924 735789805 443630203 188128732 897836616 950574673 506216442 898786567 576336799 233368208 564717477 992660543 668550871 595633803 435733287 918497171 690935989 731005464 793151554 901611231 653102409 484897300 759849292 975343154 602502404 160205642 568454793 260632484 796781172 318676557 973140380 491497933 182038352 816379275 571197571 459052000 337800446 729237463 185039804 811244109 154144232 965779400 316155136 909773892 346220717 719577799 389670065 577368176 719477220 935979417 715247711 870218655 211605432 782737811 126716989 425698096 135263245 437309363 470449139 305869198 816472503 294528331 882297186 309500434 396331142 196547565 977879974 644837783 893910240 260802012 503215645 372848959 944654298 163580562 245532847 211579989 624397178 866775358 415905575 797202909 230319998 352923636 498911948 979729169 892901982 749672101 827675346 681815649 699782837 243907008 363892533 896599134 180607996 810995797 946722099 806327268 545158633 870552420 996998305 817605019 670774931 647007938 358956835 635658100 356522082 355768134 991383342 371196593 983470821 495500252 785003257 324995377 109107845 557606856 866278431 163638616 922239555 366114623 403508692 654622201 788418647 307816134 364580802 804474597 814386884 160939694 700139450 823010512 382186634 711495071 887026349 538369529 767485602 927025164 421687337 201561141 901857818 455036657 925130471 152423685 474613668 666892538 954946396 936351825 527166454 731458662 363177700 485373815 818456976 609579653 505058662 478189176 748237013 468707312 627891049 907136855 153242804 521701280 652976244 719391455 580551087 969964644 578370752 116723250 645657666 774780836 862908367 155029646 556940772 417661488 342429972 781087589 805289855 434994653 509085355 993872573 404166466 813030877 228537391 588046019 754351580 685824871 935093714 737212465 149526987 463711492 825962235 606214041 111367699 145600046 218399971 528784513 679808691 860491327 935850394 943224114 182123060 203849038 737338743 159309975 211817562 666825031 261795668 513550242 348602298 926847066 501215891 800348766 738786149 970567899 144530721 818788970 461013268 404006436 520599354 945841694 216582596 679951650 169596300 807864807 119088776 378501906 557913413 294564053 432913005 139987877 860531380 681272379 714463911 856192193 437464692 685342466 910436324 852948339 323350624 677829643 175300289 218529319 205592653 243248645 586921182 727478828 498189980 487375223 890569378 903516098 121696892 784022515 767500339 856351346 452487982 766765493 570059012 329360356 768610681 210877874 331831689 627951854 385157186 237107163 994907274 841176660 341307968 245084596 576284032 257989581 573458291 582775052 915454110 874168281 508504434 452121274 843876992 231077647 143998126 930089633 308075634 212037291 113649682 292626557 734868593 478805722 102219115 694993302 294688796 287681595 169105752 570878837 339075069 720584974 653851966 459370504 939688964 277817210 799172761 504605799 649389323 795311079 717730387 105728996 102528880 523181745 517200276 980312628 494283637 153994871 241818627 585444650 241817919 379415809 848109815 979946872 510248422 474302327 760543136 484258621 513194876 276343543 349558703 490339370 658957165 680350205 647819000 939372203 298872141 988426188 944982299 682109616 386724214 474442334 525860940 455959211 343123752 950062665 739021624 783325877 410211997 953201716 318007162 437474088 930734571 174874496 167221968 267980685 452419882 143599267 310318907 276804714 726408316 932629438 498314800 577261122 214967015 979561141 604202610 697135150 533252365 943612491 219834104 731181652 698480692 953651841 846229231 788686735 291314066 298687655 785744609 881509705 109153222 831187501 537744691 240672440 602536721 723915785 844766704 410192827 647409848 947658300 704642413 396979226 178539450 971937997 698050835 315532569 896969223 356988319 434753054 907173114 884902419 669826308 927151084 174866415 110112119 630322547 278159895 578555844 159854769 221866988 794176431 375648412 554135774 515464062 140636216 800518448 161841154 502881363 625499912 244355719 358202541 810054670 226354517 505034900 701488922 351341208 534561578 601964730 277634401 533907375 150170032 228727378 503301378 546686042 839936092 353237425 388472350 465982439 901696057 943378165 439889012 467800452 971108717 267387707 526076769 158901758 873508423 367769286 166012459 239423183 655781802 825438358 989772642 240263181 968325468 173690688 560136815 956179844 688699130 658665127 888832392 960290542 846193654 560637715 421737875 492114008 582289123 251715104 984928856 122800106 342825867 226564948 549758209 907118827 150866367 213983412 489673633 571938650 251898203 124842560 341912743 588412209 408544456 620331990 163233121 992253559 766596556 863265862 197856250 642287850 919923770 221226315 250406317 119963653 982581501 587502880 737695896 370831850 282405151 170669079 264955158 936287388 629244911 553722475 979048459 233711641 863800447 202607156 218182872 335359606 492223564 994006059 442815506 161502599 408161877 116678620 398720993 648617912 223680808 805928851 244195882 266779178 246598495 505356574 296166659 553912306 722702658 342239307 508186319 634928093 923069339 580102179 402396772 290199876 379643220 705467796 392931947 755713958 419072626 154695929 530218542 989866133 392100939 538508473 626750421 917412350 699985687 678814921 758523179 314843953 353770915 463078206 337884965 748124822 414092353 355532994 218212324 537997117 945465549 882886759 896106309 225042649 403994067 328034505 613370112 762452000 268330539 653067574 654081682 125804148 528579931 354137674 585437835 774745258 935074352 794452802 334695737 883700252 668226237 656672791 507076898 762731898 695525606 387082924 476778379 582567749 941325909 932965566 408372249 622461078 642649444 409046914 441510381 715141369 891488412 654476864 459391291 847312761 228895231 194400856 125810338 636020833 123066791 420598865 528749940 588445663 462446706 880789927 613590696 422609226 136088833 825001124 783942389 260345533 806501606 479389638 676916380 549943206 108977981 352982292 490936527 548803422 469237234 271639784 305215279 640864932 533123116 402569359 570860211 696736996 354884229 663331296 686674095 750438337 149683678 143945364 321956824 981126468 634516441 842836820 107625202 132739879 532125195 439561598 797552362 998330149 721306448 921717289 341874219 551050222 677037425 305567212 200950987 612970616 415511334 233533619 809525380 312106293 795056458 474717851 554019516 800952767 192193970 709761751 909551001 644928608 450869351 916859437 345045397 586140169 698578668 216150025 227793816 203625856 617534074 530230342 578780117 630001076 277429232 313207757 440373351 911094220 194343250 628800198 157559395 961650510 231397188 296300804 502317814 870829602 889042828 654623686 248564570 788051060 857602984 215241771 323540037 713093738 755773715 264577302 502592694 783865080 489697257 330508423 472655436 269735342 547407949 197904284 201055098 254223972 431929222 792281357 903549105 349255626 983086146 886755624 810577250 983381376 640921189 107067360 910587804 435467909 517545826 844115055 535804974 347589356 803621604 414907880 532198093 465694151 955210420 786845335 623855475 631708365 974268674 109841399 272651684 216199221 228301956 652547795 484706991 137650721 768615661 858339930 616933781 291471665 729420324 102231607 765785089 853316421 437738335 609606662 337107714 564877865 584822989 551704998 618306736 172721193 664188949 486303509 243241922 270707024 514036290 436881627 946766388 327112757 496537330 228916382 122556033 156873058 419016015 890317604 794195928 729796819 312458174 577321662 184773563 819048410 381960103 190080527 340741984 310337768 301591000 191522668 642589260 333759404 999022696 504331277 455971848 459085089 880740864 800035626 620534180 983399614 746453318 929206307 827263257 160821777 766350729 492310452 120310587 421037491 653661037 927402459 364965097 901954790 218537115 961141659 801055052 775960976 553560239 519408288 199418025 813088938 798519901 743130860 902108313 183890001 761613535 172345904 772844851 694982990 525398381 677572691 864938191 777425326 544688773 654657781 757034306 310154757 458379597 105092932 215399056 490372815 973463027 383283819 152200603 973861516 344191447 519366858 148701730 193127750 250457644 909675023 640204918 576001439 447622520 430531254 972895217 147116923 498098078 900183285 145897179 442793393 120899887 381813561 938762759 387340149 960155638 266889657 479459548 607719594 130518166 701021029 434863606 266354263 107566764 733603279 507706384 957294963 563958354 663892213 494284149 596059993 236068247 230124169 408416785 879207146 370964422 331703478 614704914 388903756 586600842 747273603 492805964 984581649 633144444 106705708 970300583 618742163 670814988 905174222 914290079 818065114 199043829 599227353 734809185 833870038 985435319 747679995 213117049 436998239 219589437 316801127 737992373 555502161 773702314 379582491 949798037 265783117 484298654 967694097 703727361 765825383 289784625 941219481 607656770 201234880 305396349 972021114 838316168 523361900 843408158 853358123 509267316 285060436 520962739 744858664 999677436 856956110 719654569 801842668 971144697 694494888 424996970 729314037 616033891 342753572 468651076 194053212 425778687 690822578 750906713 648749670 383602794 284938863 877203203 899304762 733651700 422279285 303255892 614177041 728535343 156873925 573654725 741709295 806266521 659323320 281989392 428156755 855346084 371507435 784960491 149897742 165956139 395625040 540984747 550212899 858016463 264008048 853541408 985805475 944473705 150876842 614957294 395089263 228933007 340044523 985135720 536304733 622396295 532556274 536043978 203520444 548778323 412899802 735664734 467190365 344867143 580102250 519602798 890971290 105632663 252673233 175054413 212400917 755522798 811229366 515872189 814144631 811854546 509916636 586607975 144355371 948020271 910517776 489750498 242326950 371482472 680296519 714125245 713159303 844214275 482504332 196291281 292033076 181896411 345141809 791214207 963807272 457966363 804606146 423369668 660212587 409339221 947901936 502210031 760743560 476189227 315953195 654466249 102258375 422009208 499166942 699064436 653523214 861806607 569763194 731886629 156009043 401296252 244562564 228725437 510657330 478833250 619272477 857161891 783796981 104457873 432031064 654981720 592337019 176075669 156613708 657274345 636511812 409821971 493183650 918410807 470746370 363739367 749641035 174509882 580109793 630433573 230800368 979856854 398550337 723694917 969682767 219794384 725069828 849463491 815285778 253936030 823853070 372241033 163253053 618876522 358262291 595870162 618265835 245288141 358348356 925312081 349191031 407714066 605165248 742204818 194143999 248706041 894679527 495948552 843205594 867966213 838993214 645096710 904906098 569853803 625042061 799124322 748278103 130931517 853483442 909061378 207101134 726801105 876837900 985485652 820965715 839086939 719756171 549655397 606901397 655989939 402655769 789432207 507688510 894937744 576046786 594347824 308160702 178976057 403311035 281075815 736684142 286837532 636124123 817245439 429195060 839288876 152319751 786650160 732847253 787838575 727730336 691131075 428107703 973118017 607817579 215853812 436077274 101430849 813439701 967923355 286615950 919939354 316685130 405068955 216895766 728074785 621993931 611028877 275479717 762922159 651270146 886044015 301976186 755324940 606878132 994103864 452513851 988186065 244707398 745113186 669498701 822519630 618165177 818080463 146353416 676134639 361474949 782523893 633208176 428807344 284056520 555547971 594707283 692145690 643719346 996700688 194437702 787857526 582288779 336261215 723042050 683942039 654396721 719173192 631806644 562958241 515864602 779834485 448533344 289200043 552424906 841818228 513237670 813533669 125149911 306447619 633631500 310142610 469740721 185727884 877914692 299227032 107436731 802197238 505200092 346984548 490433853 278821991 754230105 944420235 894109949 309687876 649479794 176768978 992334465 924234801 530365913 269345191 705220300 452936721 723273342 554015147 193765805 873844949 448140930 219452835 408339727 966915670 532037294 373973054 535193818 258278487 363134747 718000078 898469553 157204583 109318454 865566093 783950952 620382858 908492569 253639773 283570460 593074860 928117217 259500399 664125441 309305172 235922604 236559493 437895798 656301205 200370582 721928924 204853412 425188856 510017040 393445300 209930767 514518003 449294336 185431220 862330807 182091698 731563477 154919728 647191052 200707634 697734708 847316188 745391831 499664227 809171900 252426085 537503398 247677806 679246355 516554780 614486946 631103730 664168392 557851027 406790530 778176778 403789245 432386893 331534553 374453841 169351346 412803865 916520032 214019558 301250703 698868352 967232850 960293639 911699901 945543542 268741972 950716697 560069701 639607179 219766498 132285643 842544650 314729125 334035223 914615058 364165746 561622702 866897505 434737589 496804337 442738616 362214828 170519691 498897643 815566946 751217661 869092158 672617160 904043141 405238434 942926300 149090774 510130637 634447564 439878910 111927587 358545731 987028035 900881291 303573187 997011091 468930416 335796816 215630124 270512992 468628163 230217815 998543428 422624613 269278346 957821214 230644685 499600152 517095334 193905910 211610249 524580371 307405855 775359485 909673729 620100210 214096738 291023745 713115233 876786105 173951215 149791023 849627262 297025824 125765163 394607863 467694767 931787482 433671530 363444220 954301100 117948378 360216221 186621767 956593135 989114850 685992009 520520669 463448672 502213923 511666851 111066167 806317371 395034282 565660937 954034809 815918824 534409831 506348088 945894962 794128461 602970171 844281509 728962866 764562578 808123530 553080671 761723253 832349470 718602564 933977800 162626881 808625104 496266601 299756077 925085044 924250083 938326806 817911377 870483325 795828579 787419425 196169238 728721788 814643698 316014415 343829990 539091834 827343096 735957746 996265795 314967602 980983274 265792934 138216131 235680773 158130206 537830461 341060188 963876051 571647292 654633591 554009591 303181376 362664574 445624111 210619829 117436923 850741888 194643216 116926800 184050603 809671149 279396172 909911154 474442224 780526698 428007863 957594556 719277302 581480100 605503237 742599057 188146562 269967470 115310283 669052573 374521931 931559747 199096144 876699276 805210800 872573602 420096662 749777592 281204052 791724617 339245967 844817963 491592888 317211872 163329060 761446997 660034864 745608336 592007821 213190965 107835734 986597485 965590980 746013928 197754629 626717389 556752539 838672893 294740572 437945328 978422677 476489558 378177220 637507424 606858314 700870622 811895249 493778819 733767288 239874145 260532796 227585009 296793405 112370102 257194637 431306171 114062325 627091682 235304041 717116571 411616747 341923188 280407434 888744904 486374092 555057808 552725671 364333929 154843917 794952725 331592121 435754882 915453223 828731225 880508723 650453108 742318767 906078899 400155195 652483174 657976859 362375192 155235864 551425827 241698285 906621177 185381877 329546100 549169632 393214452 162634684 110872859 697050489 881821918 568405338 681000828 451672886 873663909 644746419 175287001 596679685 405183313 658785829 127600360 312833357 534603826 847219755 311359939 263536341 244882299 158556257 234419201 201904758 392735992 221869627 553201005 474618399 277803477 652284978 514554618 257686983 117425570 683657240 445045363 360138126 562939532 557492548 374949728 565491101 949745049 558043656 257566311 102246884 231231541 564209881 960012158 756303574 571649179 718267225 915070835 706932596 215581124 828759164 107102597 928476189 945638047 194672169 715701102 100126764 449390476 409080740 221750839 932442579 921257776 502878936 105227860 316452713 789281981 614375070 206876491 141673176 422416609 580289428 789412411 432179115 226585997 236379052 201688153 142626864 888525345 459488232 594126714 181162636 772540686 636271876 686381698 518872519 632841718 500329554 858003019 119571541 992484609 291359162 937171893 449308537 657278675 259803345 460190464 166573885 884123468 304424772 607559467 618449641 979889320 701555682 597315951 113203111 305752225 588285583 457398672 727930686 480395307 667028945 520911733 494233229 987918899 655757349 742674777 811626209 784715094 690791742 474964610 944568558 399154899 683797100 328589078 102458319 549013285 249871666 767168936 220940512 871949679 762104641 104313515 581398448 753291769 524833380 911825710 244809429 985128633 139561382 115138699 142596372 433168722 190254839 678274747 174161194 909661255 949473396 881891413 403562680 492262243 765072413 608969300 404986775 179987447 383404925 215558166 337974679 757330193 936117716 475172304 813587753 766788650 649302302 979515079 475712170 538508512 492528358 602696568 654169042 897768176 187624132 757000981 839152219 124126186 442038024 891144554 685954041 571976109 764777542 775353434 650911762 777499274 651665736 451060383 924457352 168167680 493193881 283159238 887106227 840844330 908092695 545819200 125098349 308033889 330438582 715384073 594557115 731888267 367787769 598920197 230345250 734281698 694046481 395813932 721534773 349860309 992197453 454888845 396459669 981347198 857019877 528650018 544260287 624968278 702804967 350669117 677206287 430549577 553325130 402822970 790159366 533194273 336957824 907798285 618094535 896070477 329598476 384606574 829423490 706715580 556788956 410354292 471046224 254468267 982866537 295353920 261583115 191975796 965343146 523913262 935161487 430839086 370846716 177055909 709314147 945977607 750889951 707786671 628262462 366633156 280143547 940588863 904241921 754597835 353714220 335065229 725963938 399381834 514602059 852854190 132118417 370252418 489339654 846273367 635066390 463896371 140153823 774409241 896479886 838894740 110355420 771042315 978432716 762049205 722382890 463725698 174063657 539863188 895057984 367666153 636033564 385230461 323593379 508199843 829433253 334872635 368717168 578417794 895063086 508826759 745549930 257439962 481317293 330116988 363575903 212838015 951432321 558861848 797947895 899451168 640661736 843392651 503988058 740817431 814161652 790304437 630036765 989368773 735419717 549787395 333927669 509818585 797995718 987519195 502045050 884180427 130899787 503658297 222364769 748752951 688513999 677696962 897675902 899744896 300088143 382724135 317322551 972832592 928827945 383187655 874158009 214310369 869265306 581212094 484292843 762380932 835721997 625525765 420465670 271038996 888872024 268945339 602945762 691562109 692705360 896413481 196563800 454040179 854173987 325081824 795273040 507177732 759330183 615053213 938985629 886644050 135163427 908757346 667309563 313664454 396139242 715444319 635922014 285552726 888950278 753965166 528709784 120249888 878680054 843544957 651970530 930968257 429528468 190505312 452497463 867286283 978293134 803185974 879079772 280575896 477915022 363165660 774888395 430413709 141969104 496412355 496125475 734201034 305486377 377056676 529379718 319822090 478928684 358700467 422506547 674795102 969017413 816725147 799835271 881849340 265541032 374395281 514602852 671656837 728691745 612335173 858088868 181978970 154579162 940231643 214067029 983233669 842007680 459132413 909854068 526098819 886200089 889657384 542059140 384656800 533433900 903337271 266667263 954869420 671378740 667278721 825665397 263124603 821570791 213879747 446020805 140467569 755653024 824404172 656313877 328275439 222931968 880286065 432583153 347474447 871282965 149821570 471964929 370804417 819251308 436348352 233983242 930012115 767684561 500127694 443385075 767484780 551100396 867596022 794635433 811494883 796465635 236478790 929638680 949026782 434914042 872220037 736250020 340411650 698062492 800161789 738493422 273126083 199902982 819706367 158891546 427017946 257564787 222364000 188594616 851807939 260934537 171392873 498493780 698867071 899335427 273743303 825504589 314101481 450925265 408884772 177725451 854247665 187242039 345257225 615150225 202274917 682805767 156198286 981693971 399006158 577964928 146914378 309791094 102646353 912650572 646528306 968083621 279039311 295732796 839545708 569717531 216035626 909611619 286658374 703014918 174962396 648132584 821515373 526873338 766117368 581085584 760192790 782442945 488991376 815988848 889343520 144296862 262584452 895462417 331546884 777998545 796170347 665253874 898045774 344556158 420160064 725095045 418186510 677837202 520760988 855467717 738582311 236080016 319322076 597005082 396982417 395624889 603789490 890296779 394752367 862367562 841299761 239938089 237361531 412788724 581302456 344852724 197176933 917350065 737693585 430031942 183306363 154281488 100247025 883480092 134050476 731828930 837907582 370530761 723371225 344658887 797861456 581425594 104583667 623665351 814311837 207558055 185148624 772835644 912301471 563683477 699155758 581266230 422419113 677647120 513502562 495919125 779704265 562785109 682427201 513453929 492778011 691618986 220154879 441409085 913388415 880909103 338250433 878102793 850179962 725825063 365897638 471688809 393925977 296539946 283651371 776509909 534504773 363893823 942759903 277352277 850481624 654455025 567648500 439956463 134003563 889424044 533147910 818679858 434092916 129567663 942832369 579901264 747705795 365353594 314944755 435365077 745433917 831577972 946805759 624233656 197742619 457851535 630021786 839964595 671016843 603896924 739566292 497631677 542022306 591193865 224405942 122018740 161126406 194741468 824493051 144091324 492126098 874892682 862607516 548944205 867441723 325948040 266222574 530668534 924189591 477750141 401621568 647297866 882979622 992834114 767999998 441966701 673920248 543432207 476752980 841838565 106189030 344294198 924246725 842672145 839570839 233679397 552858588 686851028 603184416 567165354 591447447 261906303 271819923 734083250 550616525 367563048 340347133 855025979 223975772 227527899 166725154 367934642 244853883 613386372 417512804 938589173 758240118 683419774 397883341 934798582 576972609 450225168 200339663 986947629 653840526 106502669 324066426 242950397 907742067 875556830 289719123 111464896 886009216 640864167 913051148 490366261 608584210 112865765 698672704 979569138 571183077 654898511 744377132 793948650 181143645 890630503 795076826 242747614 290942616 580364649 911493418 857025321 781757295 359329084 971707486 186601266 926855328 509832816 614045728 815046864 556340795 728016246 378396565 133225770 307790019 524801596 825363963 557730117 647557625 714987939 664882594 836219133 610634471 690166896 145728296 978785603 747368525 940350914 179285195 989674743 469386503 892507867 400261612 407993997 241225298 537691466 460415852 726938792 803703992 593227103 226176030 697017328 622865006 174900071 145026442 463209042 497977798 691907427 757798642 522627617 386388584 115558102 949209390 720102587 292634751 277335702 172977606 877912944 176525869 422454948 631254785 330460889 581981176 689296186 312602920 822876014 529016908 313486185 243305585 390934903 704731421 805237874 745305555 210783341 495574909 717199754 810481329 779701189 921881263 830405061 639968242 615560023 561954382 446970440 669703955 455222695 654551921 303579344 464708014 226511026 566985606 452193467 246630615 997596429 462414629 171132514 243287639 200085625 380644944 761969311 260609658 785992664 105207536 672039601 549443833 262462501 374812417 838583151 721271326 424404392 225260684 749366309 194239120 867311131 175308249 182716670 228900530 659665676 476064996 376722900 300498829 793798471 415464015 688945186 288600679 516767305 640714352 234880685 640629347 332013794 570203588 879230038 546610408 459661322 439212530 114178611 844510992 397155431 372714917 785373377 969052883 796868486 969577162 743978986 440376116 357269152 732922054 187188723 415215642 824577847 770242041 312688902 629928794 570183336 887002860 258947097 416856162 412567695 107602513 876053612 251576028 786036236 396014117 697558228 259068738 354243675 235717229 627896833 920340112 105613773 422465224 725302014 185575344 617676485 702695304 514469951 472798881 168136263 680016820 213682695 171925473 939792020 252783031 272642504 215870726 568506871 534424422 686241846 780173042 226054484 217884806 223772412 553712200 983296166 902001378 356817654 863761228 996524628 637915878 830553242 572229743 475197023 199760201 881467342 724583126 127559839 249941184 159667588 695495375 419501758 469346654 996840872 262510084 246061639 708660584 517110666 243014363 863899460 957042664 893375949 619482534 869783437 972658272 399838892 396043559 125455618 327185330 868660727 431712226 298121817 418826273 835712341 476727692 578211555 206825119 184852279 769105868 774544953 453783045 831979541 933780923 968294865 530583954 618081748 630668431 294813071 742335049 246258676 453750606 452761853 459276862 500948362 769415040 770876615 780060782 720045095 606661290 180888590 649566048 395688963 450895364 287853532 282769891 525730004 638795984 369840716 917942746 978014308 259203373 411965365 637348024 425895046 953287852 773756712 219698733 723654492 871897854 318609217 251805633 351254819 693547343 334506800 858586790 699592353 920560541 443911194 286326066 809054469 844695201 548939505 664708450 712913203 586235831 154351858 212370843 681475519 876834335 948188959 122380311 976188930 493774167 130176416 945305420 927957390 703544831 589729090 850737185 849358399 536946744 482737747 129978305 900290161 865063178 310452547 689829623 963519122 807116980 381282115 229499628 543874451 253344461 250422833 469162729 899734004 457185992 348162281 245221854 401835824 265638129 128151455 846234961 134126608 543928536 446780206 364367230 785484817 582288311 819211597 728201517 493230917 532764559 321548818 414279608 929478663 275801433 839198369 587582688 931739365 723030548 708615082 456221366 684760982 998312009 405876622 324677197 373483802 921411314 661209815 172036034 866765153 931836715 210797420 320596316 762628091 650213270 865881485 640487773 811176541 541058389 795759253 179177920 795322125 773726039 881180446 923702414 456041357 701186238 349889962 126178218 720503833 640666044 686020358 940938770 236444228 872686899 520203677 865302358 127527412 493830204 790116831 437373333 168756048 691846102 761446705 832861946 859703487 835912646 396230672 353244120 275894131 601461350 712050382 150038555 431716148 550007288 556622457 831305091 546697940 823254179 601801957 196267160 940579582 534258069 139068462 607273351 361180464 921483143 933760699 131712270 320612871 547299427 456379751 295529787 148070442 904291072 183359593 985937580 847687319 783039268 982184854 728828738 196966844 794093136 282355951 837843276 986518417 229486480 351917674 418633580 501757766 816238901 513150333 500563129 114274344 824570644 978273431 841098073 730738098 674063283 809000313 410128892 542513166 887938952 210397437 780242005 410969270 490482064 948939630 794919016 762135085 659530619 196615201 917461778 441065853 135266452 353254807 789319816 375347094 560345328 689684640 647117493 913096618 295777076 252073737 607997184 416019591 596589466 428489124 647958462 515765911 879468886 722647604 927484844 372355105 459647519 331068160 284636882 526583243 781078348 947389519 356008353 271462494 771556255 871141731 352925276 612482152 924846843 764102163 145085446 551446232 532259221 700411982 240410243 541635603 134240361 540631758 720368602 123897635 864661767 370901013 275389724 888178232 867937302 565062591 143429351 998517774 681820847 335676419 987121614 662995106 770591307 357799638 936960628 364738972 826491701 175843957 869887720 860307260 154378600 353161018 987474348 289641765 837811814 288166663 178194177 629951490 955307802 410108390 668762169 329956375 641341373 605373249 390540764 743097106 900604044 909630895 557180444 304502627 151965838 378287352 915032725 763530680 248600085 537137674 571612482 536025863 927388678 661140464 979362095 224825434 658800743 752196546 267283455 575355686 656670003 921789709 387106226 200712160 195140550 323239783 732903727 656856842 190184961 566451184 645884311 993827081 443363169 229502534 530830224 977940810 493456771 490655539 973280597 819694100 393036647 954932191 218508535 174071301 193686476 466116417 877866393 433426404 993550951 592158616 281069856 702557102 602626624 947200879 764389879 746401595 739870975 397742071 103451573 575598339 886433056 553134502 997174666 594623103 407329958 184835240 650553278 184119637 661280852 900024005 572320646 812157840 123810445 691776573 291107904 724239391 523207737 221344019 705782684 950550389 418855467 723388615 850224571 283732965 821671000 805282465 649793075 760329260 861963224 382795837 115347061 688793752 527920599 234088093 253233983 799987448 398640817 753528308 660326765 877268108 857220477 257213095 425775872 706206467 565924660 208039008 671465590 671171508 841863520 626564885 204289175 550670855 919849235 675558707 130467046 378384788 110414772 880615486 297690529 459305864 917468102 712420803 119345698 825509343 733364595 994791501 323380031 576169639 336407445 227705602 905663024 136853570 305751927 908676210 914085893 644677769 401521478 736607479 978799318 721295215 106736480 972438770 713953525 879928972 272636313 831758542 878852678 794136514 505998393 463554795 285036308 926619522 494727246 845528776 899543383 149775659 804848944 457121684 821092374 338431185 193653870 476646515 801931873 264218002 877768525 760643354 816632215 531717077 875637688 451250344 165695107 561048251 438032789 571030207 356102207 536804100 975677991 134554623 792360486 182657289 519265680 350916381 256321763 722367900 112076885 548768350 617366274 822055106 567953157 868764992 350975564 672960322 311762440 294421782 310190832 611841123 148249852 868275861 942813338 324238490 289714183 906180242 103396260 492092214 955016581 391452805 555851136 566322181 973213850 887618247 903993823 379927945 118811877 932489783 138938497 595789237 674616596 655506139 198451888 886895779 971466999 513837571 569409138 903606763 778596042 188813711 679518158 652435439 757591553 607497673 746317378 918334232 463958537 226923186 924505868 620558531 428164768 231066446 387420346 946207830 477310696 655549597 610476903 852939748 507595858 204445832 575316368 971157178 610694822 326262444 123934196 802900735 221283929 896538400 634657837 352955043 764698937 284383849 615908991 397040874 713842692 700204746 357399732 161692420 167286031 579729319 209002026 756207456 236434890 882520396 890929351 172507206 892863017 786839078 293967954 235654400 912048320 718341924 385958512 356281645 744601483 728649047 658035282 111830390 419651193 533917052 502822615 199720091 810281854 398950114 571903624 540436172 422636751 293129896 118112261 457482245 430458201 481092948 897569826 332319178 515490280 363486271 909225795 399620003 604385509 157882725 802837346 261807231 250896765 515009983 537634038 131856989 782277520 165131451 463787747 609282343 693304310 605777670 645376926 227476962 383133042 671091772 807696423 878030970 828964428 374466681 171465278 502661515 876373270 479506901 401954373 262967141 220072675 813171169 941910622 673217545 270745231 982746771 443910722 760156629 652990056 937883889 556812193 780121129 870012440 529005694 708117856 690908422 450093487 164545703 340112458 549482471 460642712 185473748 814889989 430420129 591295930 204685354 354870533 387278009 108068586 701414088 450866728 334991087 481843922 339803789 822777801 374581257 123222110 468451026 477242189 276019255 899335822 422795620 465657954 537772180 630553007 454292265 551578667 942875947 830801755 644461321 408401985 981365911 342248167 529821637 324101016 734663375 373752936 580828809 656352430 779273972 516125700 171743628 494201146 104052138 649349550 907154203 146774591 563137283 943563572 579367010 771127638 805678090 494804918 942225163 526488176 668818911 336172681 881329450 280974406 291914927 699098976 437697092 334440000 210618327 592399125 804322153 458982769 436265690 989962573 263498380 807165294 702454065 667399037 892059508 458180703 514900749 838073253 212243653 494359665 250686434 201580480 961102525 575921373 829562444 408688935 717228342 926237534 160136724 202517792 247377809 306880828 498157003 592157427 527235035 129669958 171561425 756833004 334029992 227907084 484763432 522393763 261630026 304355010 579027342 276842609 725795691 217377440 352863633 634722614 780350363 966527935 590812581 490939255 463812386 691492532 828049698 628507382 124833752 992575149 158263422 343824328 159247079 888105523 762920125 694781447 642027746 517899011 183438033 735010264 489913104 937653118 469419714 120467944 821873483 541681742 103368218 591932223 365513633 323968212 761734032 754693977 781877931 789863568 379900156 498954913 870766311 605363866 795994385 388920390 748375529 697021469 702938671 697786094 457113092 298939972 778908142 792301212 306176127 469080114 213791067 420450168 179549314 847205367 359478154 389250265 441009164 746930295 994973266 132295079 492247621 877000313 179057453 838947776 745213780 958875721 552301496 894711119 901079915 929146180 619847645 802750036 224425706 558621798 220883574 606383933 274324741 487745752 790700254 479205109 984751333 689908357 537034232 293646361 204603123 627463023 327038326 781047694 158259685 188871846 482315028 805952252 148144388 515592635 333442211 119260633 532510164 958527358 691447187 367032958 503403042 524333500 121978293 704919118 784164645 873052436 725214251 208933610 613287173 164786306 405415158 341126700 233798221 435471383 380077829 343851183 213915684 662333227 366729783 627393749 829445946 289660677 832536633 757112347 727207266 496365359 839511434 798423178 536995597 780958548 641358722 747908010 479607327 474692713 271119883 290506027 989144907 957004776 113904711 804308737 320394301 541785392 566020442 250657157 941850828 271927666 595171863 529417314 593178696 392616061 234134524 711341496 349145499 339959959 757814126 494757593 321946535 882334638 930137790 861989072 762308668 970523806 664156293 209371725 636588832 214059585 240686830 300946053 175316703 953230967 956003666 464146911 505250166 440715408 839488209 972594413 819094421 487807522 735001869 478248698 905958126 705031536 339848581 638230043 993350336 276935251 514782772 179219271 225014714 540545175 911061774 182910143 993021905 782777909 114441118 521808059 670043338 318509832 824603579 476735488 819436918 817190529 854796388 633854414 101705873 325568612 260634444 717914537 450148946 642319498 619396241 667546784 882265028 338121105 803828338 428834613 341375347 594974320 176019830 472097192 818119435 484046515 630733069 394925098 661155664 548818348 596775816 716332120 470902548 671285459 492167420 337497151 416045320 736844743 224781822 989626835 106485552 545648184 309859838 800550529 300230574 615433154 746377255 288583598 242103455 790679252 134703392 156483468 459127173 535048103 820984824 296845864 396067755 205580312 705458821 882024475 465648666 801796698 956367407 778768655 634721816 320562593 189128926 868810396 139190280 535925917 661768523 745966370 795555666 777853747 565852002 837106967 254039569 696097715 648076745 760573883 619719139 501665736 429067855 467272877 773340611 639145515 922949844 629404528 245641053 909463764 711753515 664282451 770171207 427266008 497765915 294558894 815788408 721071019 345259538 615373905 423711468 998415088 551627401 418184050 502385890 589277540 594217431 349382070 519167324 710991470 490519154 674491605 840228994 907861205 267892183 228075192 147913389 867175641 677169635 787876512 426246316 673571775 384322854 529207487 586541008 630025907 253837155 748974300 924066129 580217197 966569145 587661758 776566405 721412136 875311850 964042935 528083159 168698291 787740625 621442996 289421541 843385562 957832103 829450615 924088371 961386079 104923338 457644955 681349896 456085847 582806617 521158417 899943850 513794331 455708870 290786572 961367944 758857554 407592676 137520679 916156566 388912146 868009775 368282995 371631907 402805139 485790225 540401906 916099737 668220833 670939902 484672091 375774489 196772945 888882414 912575840 168027037 639684102 205735978 107101415 278090682 953386633 181138960 640505161 466355297 139406561 583366982 759994473 927649619 212904176 155304111 328545293 507369274 857556991 507157413 427877378 528933030 627091254 550295778 165815419 844237277 584370820 294206414 557842701 708370469 798983459 352524334 155864179 800669235 915746004 876843173 798821868 580082080 572816418 985157668 684198172 371734782 314072789 458289138 882504584 280148121 798603130 615612685 327897700 749486252 196893155 119293372 745093180 500105318 762662594 996237162 353116827 566780959 843171997 624364900 693805114 919103203 693354000 510224831 802160131 658786361 835519108 919119486 150361810 461689858 635177295 722457955 105196465 559800790 395292748 100260594 713504650 524330579 981809705 330150717 564422213 605602312 365255883 199933289 982149214 715049820 996196961 887951088 479428517 261513942 635874480 719884427 646205815 903711031 293996417 623508912 296142579 270835081 392060634 577768763 154812512 365952152 296181254 965185737 523084399 186665736 340772071 663451204 621658559 521477597 615635999 771924891 818187224 403928573 243566003 979344455 470309898 753876602 350800789 416427317 697411838 355173985 631573248 736886666 676737479 151926873 325814873 287491734 885878785 539068445 597465715 131048236 497310783 540203678 305415912 793508736 744296681 730480962 109086735 733950389 434452045 329459754 665033498 551796193 967195891 352867072 724845966 967567648 209884599 133417164 493235483 445793003 170353062 455020375 528383954 430345906 417174923 929454352 622413080 706126826 685194308 533488819 904315922 928269532 967216806 329689309 971043721 485229238 239579066 504464948 576944691 258620608 469318874 219229182 428873004 281020422 233091276 604530269 328747044 768093069 316544085 658687723 416105165 343371406 802064242 156814732 120794465 227523394 623122035 254936656 376903326 829667837 337243525 920079101 478432999 604412548 276203295 504225943 221522210 113757923 958831265 750347112 918893748 401168110 142133566 927939674 552460952 954942268 748347264 491947342 611645099 538706541 365134353 255898561 952393918 965324849 919264395 181770056 972872874 235025781 163588944 992823809 490689177 325610283 850890280 754029425 648145975 211990694 909115620 340647590 286504394 419120323 337660817 807105222 907107397 520220415 532086646 179367899 279510814 865136670 156706754 490582846 580342057 730777869 488697853 357190049 410358297 651035569 401031476 316029827 916641013 385075065 530170819 744713424 823448774 847175275 237490840 510246567 474013027 319740915 701449878 597516138 260559858 635777496 521088858 404059793 150104791 749834377 656051471 129623123 240975770 970659798 584202732 192395987 463003070 511325277 208292253 191478964 228775143 668038118 355424622 491332038 759408358 514648980 423870513 781277081 646124524 136825199 622559900 720771956 640727945 684024370 402556633 834696758 353053188 296583252 298022064 481562608 216874386 886813362 467962207 545305907 141522842 245114598 901989815 710375466 923683718 996167993 607673847 935068617 636271401 715362566 409400679 460542986 566221700 635811418 659272084 116224769 421651029 558692759 463525759 903012895 808191069 188227008 412408438 157146184 223525544 747031237 840505427 538347837 231402607 261598785 816879974 418295328 558879875 471540794 723354589 771626517 879387270 651410949 190558055 396636739 901888618 476154629 383058767 279147027 356784223 184584503 401762594 785526492 703588562 378036179 195422739 900990719 448782181 901340325 810777151 673646726 630093185 494157127 555570519 678586663 519306011 805007559 367327378 281414843 867439990 371627782 525836602 435801323 406804667 250558366 847991933 313588881 712265413 929981231 347082368 386162480 823106702 306449202 363918395 122479769 349801759 108040143 241434950 267828744 127524635 910427865 737716456 266861155 652385942 729748065 900527284 959587806 704737637 868347653 981791974 241870448 524089827 937457618 773851130 812623370 600082346 624945128 376079226 828183438 366770118 638024559 321321701 130576355 305946353 395079917 650890995 624210809 438192070 546254806 319330606 423301117 503680396 234637832 423941736 149411693 674448469 868353715 335915370 256327952 284837732 937450771 349923651 743413465 744141942 225793724 731847816 704378330 631818939 382445420 546384751 382682485 557759734 792894786 572946379 365878488 876780177 103080701 842044613 929020200 858244776 191128421 500852988 483239149 180269020 906794127 615503909 557618542 563110575 121648509 372993022 740174262 382071966 997356052 907092783 330800686 647627610 106922847 197447750 161421895 307002961 872974811 289256207 344700835 437472538 349666884 992241920 827272244 408008536 638457333 543752433 412730923 565543199 593993373 639488146 506189031 916177006 101880331 811480196 342358942 325276035 764782227 775535600 660791110 296273124 491709192 662484547 106897020 708064828 741091134 204087803 269560779 816222281 303368729 871539454 310144093 600565237 578348375 822061721 935825178 824382852 841227636 859344738 406367793 526020495 658122996 645402882 670867063 236518173 130974365 467790887 949708425 993703320 877370004 277056162 387732276 451497715 356800998 515279391 140151825 831325054 675771805 181698927 880424436 395360743 173791367 229124351 382338115 901781551 945315289 885951513 167992009 692514291 198921320 195408215 648314145 619697888 724843498 600769354 805064212 422611329 448775910 104244975 858296811 250168506 245897601 898151003 695801006 393434115 510436524 543965586 397740563 818396268 733790671 888066842 406256452 811481076 114745842 860583886 966203700 657517134 392146010 881646135 518677886 927356479 384408533 620942441 153144085 153914475 223366759 753631333 466931496 454537743 720099321 584296436 925446734 768983489 451252985 938107797 571341179 487411980 651094069 542722577 206821539 746527908 816352752 650859402 702514716 158099871 812968781 737588323 636018580 751045063 420887400 846701145 651733585 661987622 628383516 299548969 654063173 681437366 428185904 556213650 665299025 918594631 270317753 962423591 403573073 290558041 872234654 914382825 591838428 674722994 986706583 951820942 681918617 975010115 204364555 564484559 960384615 772469301 897664515 257080105 727690756 845348729 746998854 883011571 677390672 855994582 611449878 567992408 923369800 277636794 210908951 140935809 998044689 157540360 233726091 721622871 394108713 595939996 851427856 966929563 237593413 688482925 505902600 569945256 237330769 548450350 395209758 337976160 921953141 152606950 970329301 544377110 827100210 546883095 272552157 633334664 260117354 425719554 281172404 400586621 355130107 626399150 786763242 404742050 581652888 808693078 963274510 903788694 115855074 646251418 960352611 690365000 367492797 292099734 619230750 433818077 983115983 650224707 631513221 363135553 156798239 274128645 660340370 534718069 381300517 709445243 512809448 479442546 671616322 452671582 276359432 165247280 413180599 336083874 226095359 827476972 730670623 160034352 961832423 492097339 445666477 631239515 392781664 390249337 523272120 644359651 506717048 256135246 767347657 719650098 902338311 514368494 637627475 480213382 633823594 390360885 454762955 728957608 783794960 589928612 906844665 710641885 526262015 709211460 744825036 748321833 409837910 725193614 631080696 112645614 414053735 351479673 108555532 513396119 183069597 788464746 560718632 150715211 689357710 400883394 635666996 688436077 637448183 364121982 308381353 444878221 496537757 193019197 374227675 119896782 585058506 664480283 828847653 415202757 793462605 801893423 496263104 656250404 519676053 188211028 357364448 850806865 552143522 646306049 455984143 924978949 976585438 119828791 874890732 235305405 756096725 205827715 722763424 921540671 427808217 214496811 135434680 461418696 610906283 653550307 771429084 771993792 458952329 470140085 704183254 969850680 661052577 343489566 457309297 722274208 933426546 601571083 315229822 197122210 393105380 951389008 230356462 608201450 655352665 788249171 179369690 883757691 484542686 850419084 240221869 822877567 482716980 721170424 487666661 422782684 769054658 996604511 790340368 958061703 590072104 808364271 507045353 211575568 794925517 757058232 743870813 760999168 869084170 842385468 614482779 939879730 913847300 898339910 290605125 446756789 686072795 517970704 474916734 608972870 853673962 856948436 272631628 339041626 918909848 509185113 944324099 150621884 584229718 441319339 529871440 945052118 124998348 102436705 125218253 262485484 947632259 679272004 508917365 122490518 515878632 395986026 852089093 187450774 824483699 774549993 522804309 631243294 500398949 953544544 349581842 149358958 713680057 541077565 845330244 873601588 335443122 554608350 278921647 328846781 281689718 638673659 426354189 850253652 363950205 461495629 468883203 349763453 472148950 242082704 328888736 969447923 880976018 704047739 133094665 419710309 434102109 963788057 619635862 240666129 471576301 735135646 832290134 716441456 369673087 800927237 611550015 975555902 786973292 904151140 802782868 432650692 353692097 571110185 473355075 101949277 456942697 905931024 775370331 816581610 685497861 464199922 195636813 191009125 206263286 273804987 352961085 526889198 951606441 752070970 626680214 392737187 950623826 134824014 708120844 713200610 240638007 796324336 403484363 172375862 584253584 846413526 586547121 925211755 603088318 680649892 713023237 575134569 510888033 772022443 243577620 967670452 564662797 504837949 753609118 961373640 577819912 219562441 995501100 801705108 805363564 791568159 979996822 560256320 217362301 562279963 210952834 325873003 673789216 535512300 344347976 461116471 390575922 115579098 612950315 900712032 144431740 256071428 805603431 265693779 403228680 341266025 968192859 862757176 874532059 631610160 230949450 932273000 416336284 412998712 566089641 333646644 582030051 748734638 496229555 447023659 210737639 535091769 558524998 662070254 166290979 655223992 511687291 644114590 247503075 399890313 255791938 638400143 983250310 460676126 632750917 842418771 615027931 854728338 663598298 764512619 554951002 936669298 542555524 469085926 521464901 244458676 619069322 829399152 318657530 624777854 905503839 788297010 710494023 751068706 347082616 995706830 652072813 266681567 210381524 658981064 788409597 494567016 150092127 833167272 214399913 620991934 916645254 661895651 173973506 236138123 261661091 301721276 675729888 121601341 227038040 132893769 647490049 296464451 333501325 393932084 595022491 874320697 511740048 662758848 466770999 493592377 105742881 165161850 393802535 114712789 149948216 845221365 564518747 571499991 885430591 147331606 994026173 982833332 142332949 846036650 747655347 751983413 801611549 114096896 252789637 233347229 473739310 293710314 713652593 204658316 627850450 565296695 622278322 936382649 922419299 433307442 980950902 970071195 390415014 190665679 614923977 636194001 456603376 898665024 751930817 577535925 557075905 511744322 789070608 149229277 179119448 651699811 771399027 785756087 755652139 798076183 199339526 136376279 257414140 690028712 197572806 150718286 688063943 256554802 139492099 126255240 399557666 820618921 704233961 921598186 190493725 687631911 298663592 680384665 761834998 905135505 974905546 136744893 207794797 161650177 982882002 799674769 185912298 931920183 337237073 713972841 761098268 522918032 854743388 895803653 902855093 476554010 916105142 635267816 950059444 669996758 474001730 741669057 529106894 490856782 623169033 631935454 238603696 343710230 335238349 837523484 648212265 427453571 659387374 119988966 688697460 107624673 877149992 838528478 820968330 671780446 418710519 477288392 346813008 263300472 859004114 732564286 226507445 286127762 507969409 805294098 580508584 439895935 994614586 548910241 629189777 786971445 518693276 751543882 476681968 179790463 842473079 303731087 485631135 862369346 158288710 480938762 588980561 501603469 967624957 519269585 817345345 798489295 894719785 997980679 564522151 110037788 328126792 960410253 686023756 677809970 783960406 532916194 497729872 918054965 702510301 193571330 513741923 367185739 488892692 862376277 854831277 377454584 623899510 704224044 861576524 347292248 129353010 322887533 318150578 735360768 544095388 105338515 371415387 166099255 649888919 975124540 466024911 778616985 102990781 933674308 210610840 677048832 755322364 751666207 198969225 284318505 530182678 470466561 658107778 345256806 729275704 985983220 983030553 137603082 728155383 988009534 559253569 818425612 232996298 211183566 524077377 330976046 383960413 969158171 558550682 580710618 102246635 860989519 160498250 963729393 346467690 106775758 619562371 107561492 263002016 159694711 922380252 368595618 528135498 353687811 258752756 533545404 833124667 887464822 712611939 268847857 584574972 694492377 218871805 455480096 419409946 717535752 810895398 911771212 393671398 375106351 335210496 561927078 556771647 628672320 907631438 925298608 548478977 627727288 168906532 895449112 552143152 911860614 672348561 888160097 561446743 317295892 852838647 440638455 498933842 218079293 387145563 133695482 393610174 503701056 357240649 743638457 661703213 219249217 482669668 113733887 150397993 537449594 239977847 938966481 918324972 466347250 115541434 659312789 590916830 549968761 490518344 783978628 603340533 348925858 886532182 660289037 542584514 521284664 995312060 876534369 483366191 742878348 861523203 747731753 211645046 661707860 507343345 110581226 367820164 540077579 637613345 458355934 720162924 773047281 649426767 846619183 352883009 710772789 726219729 839284449 888002784 468890227 763105142 748588978 701652847 746629092 987175145 966350723 559791521 484500776 554796195 986597614 471184192 614238258 874974738 494505632 918531554 447532420 489085266 277560339 886140988 956769474 430404663 898936292 646803265 198067246 172224942 853555912 966443438 121760584 347950445 356060767 177574698 514261138 756800497 213574217 102359350 957600822 386453346 500121051 251365226 875291093 370997341 909071976 206074947 167397646 865047053 584380069 812120117 111803247 775233964 516206245 982519350 238817744 958994088 987283733 175586830 696613743 963913590 802477433 365055733 790545920 641860243 872480162 273412156 625535113 456854467 558603707 470125972 326787505 624269395 327941778 336320529 656504372 830016918 588178068 830734151 581168607 985610093 662382383 846325340 236627711 915293697 483300851 150943854 616224206 189691448 238947970 754893895 638300109 278370733 239525472 353508504 929704237 964473906 758499286 770895335 952443213 167516956 214071851 370751225 103519851 796106995 262649378 179053385 897095248 204282166 125768152 300691711 335867851 730174950 403531232 104700003 705275555 273105958 118295200 767690048 179713391 386335102 914671145 862588095 152735174 902372522 548296616 470545865 432297574 803488258 171462032 898981000 530648112 171405821 635421176 748315787 531324486 719819483 433449302 708314055 161317226 310105040 466882416 173520244 198465142 314975732 340091594 712987846 322513436 673232527 300967763 489161943 304682836 412771060 260804788 854993384 459539028 110509821 951712002 448773001 857960950 305534406 842756185 774232240 828080638 396160412 300869747 312245101 922762434 862381149 266778911 904002405 249320362 268846798 167327655 406459509 154525171 203435340 826633425 146347123 328479754 523430436 522952844 967361743 787094681 762847876 407061990 713745168 770271156 115673381 333964947 663867600 577676901 639914340 706929603 343931606 922173338 824208833 473291156 833863562 741176215 167894004 100373046 370021055 420946465 648275698 426905608 983608374 282564336 967591981 837816626 655100161 355073877 983122082 569459352 758523018 513169226 974163747 562743057 371183104 744435479 166986616 922708704 263840273 115670553 452352441 818615185 986230949 767852378 420262876 543685200 279200386 761910109 910328367 687012306 419069835 861462899 129867367 112423490 522412110 925051737 478439041 247444752 377438516 115393660 916138501 814760197 502525747 482833434 671580134 119869782 397912805 998818887 960755336 183839689 462060471 234894726 727108066 595121164 945477322 870940955 245768586 442281894 849735110 626516016 128463697 665949272 139363149 555335469 693976981 763757942 705160838 477137843 580870344 675474010 889133509 294627401 363019636 867157569 552486049 172103580 898821515 110728828 648678865 440987755 607378548 876144015 321150459 140143232 370618535 633804965 109953806 325506059 590231356 301416753 620962399 797461115 401514540 827121347 135233120 858995780 361626679 254095366 136252799 563513919 865468579 568170024 667394204 390267332 320123711 438106231 584816371 845265781 999595639 228382314 154233045 977800749 670216249 916610696 198339174 589148413 784879693 379899096 566133688 632628320 698109582 965055405 269241983 922327086 363214288 422112413 358169105 160242234 140419654 833602526 557768950 436003561 184161113 973833194 116240119 871602773 651086099 377839619 624885579 961826791 932892599 906719719 300158070 308294278 974762748 506461318 686340018 536405006 455295878 853878372 324470169 384245701 882663952 776859858 985926154 887414698 271483198 697720533 809814194 183958154 658639839 934235028 232725500 688028759 217701951 510988682 511331440 133130382 607814386 635630274 673002990 931333884 200602027 894848363 820637163 540681324 701771185 385195280 483895684 362020831 684525046 643346279 164034025 370278544 175359623 129670006 938335588 467571142 348600916 148805287 209059410 920490807 839084047 295178440 381605069 866573327 148688195 561111254 732652627 933090757 528329015 877940130 278925661 475380671 153195639 708428958 498234411 722045244 380503008 663930350 883197515 305924125 353263838 975768631 552068054 742369860 790868322 729886253 766787881 902679968 741158475 961571497 322204604 655806833 711828268 888990173 682608709 470725114 145342681 787968081 580348935 379075783 180643697 927724387 370497442 125820001 443234203 692897607 703784404 503808955 209393714 952759845 255079568 930041841 669540234 549895381 954077373 929873227 343519746 379524951 377393629 416089605 545060638 875279421 416057593 866543675 382578215 909433946 831072417 227584754 561694839 541234721 111617015 252570177 305218828 755140064 918916568 353819013 358591312 699139172 820233070 638854806 871810845 257661667 110548190 374162335 167482091 387537711 756559842 314107395 944877606 475902045 157314443 762386954 250828657 746485036 350488411 205175394 321097797 760015030 527375539 993562389 238739650 349471823 372088438 601969229 732431174 732674234 521631446 492132509 800020837 657600416 199903638 448573145 627626544 976833503 959986817 812354727 588806908 705700405 557691769 745824090 609676720 373485624 383006556 933482290 279771107 581657053 507567465 624157293 382264429 746121190 980072278 112810601 815886475 488440084 897042448 718273151 180459139 271595844 741995811 331960904 597281716 594297098 824015326 536604848 897953577 553787385 247521154 367322734 663737717 187763541 448549470 106742162 142230564 430497955 642889231 788153379 246762449 310379540 316594224 223108246 391743001 169316861 711652738 165816382 872451744 484968095 318729011 715284895 768545470 764740341 435978993 390966873 216973718 391685723 629403648 642371153 299357237 604706866 632355661 721502218 784006818 253237181 707347785 105682005 923340606 200238050 696741180 959610289 929786089 888875760 392197730 627588888 512784453 748577288 170636779 872025366 103806762 850764576 645172541 222780306 900887465 956987894 645700968 649291903 313164964 509775408 500890383 647028960 449547928 720388768 687460879 707354542 601147995 257659418 896109168 604798688 249031789 148967358 335598782 859149721 213263722 662696478 790387266 586683098 856713884 945604672 346574764 691138565 629919640 858744991 406177227 136060799 478697114 188873747 571087598 616370380 936330755 654310525 934480024 575847853 672123054 867611088 516587768 625076216 226287810 886788372 263443092 464940385 770543470 278675762 751944156 536047757 925822747 658698489 165581139 684726943 176516693 153488368 403097963 167999136 387426938 916379217 503513896 336664730 148889787 823251968 377400751 546842739 495670526 286292630 774674728 412706292 773166407 997310016 329271392 593356825 951700006 357226470 479620078 283947785 294704593 299977663 482603891 297038559 177866659 724049279 607729076 807868196 496631797 177829739 731701073 485041924 309459247 574215269 960755493 224067441 496362941 334272225 292029649 779451492 722680241 760316255 692042658 912129790 965394670 954810696 274944230 362405355 926536311 908334256 330011912 514848122 525127187 528888718 835920935 568584796 888828166 672839108 660182399 596505834 607740327 256047481 947939646 884294869 857669738 943418274 634305336 755797230 482170486 106502317 520185041 835101736 676485529 739849772 215472788 709956949 188948109 895791472 705119931 634539311 906720378 398548189 565291237 793263441 452444060 258618847 163647016 267509147 955384717 573179204 755990699 359521625 145406035 311338083 525431174 229167738 858622082 298812596 427654244 423703535 821529103 382019268 152581699 694117487 669053774 280238825 146174770 520207454 815755645 742257921 835801515 297691274 643775859 946141646 569680793 324682147 440115071 457452047 518060877 914040724 752722353 722108730 734668947 112347730 160803518 917724435 496358994 798912314 496660406 516623710 343019853 587460810 204516795 736369153 616334121 912576298 654980226 482669480 249223170 890737716 996691643 887239122 623283353 470435325 290628517 188789229 837519110 519555003 272779134 982801916 235827474 888074671 515571176 626457718 244368266 772270010 730003764 173044042 430041512 903115887 863915442 508919133 413079558 780306729 153499483 551924807 959054868 867745317 319569774 586887664 188137067 417961505 150393969 148860326 355929904 754521381 892712503 209479554 819001228 935998532 156432386 575261306 197394401 626394226 330130001 303743299 213276611 685604490 882439852 446521833 325272052 218423962 947692874 640393734 300281891 672016075 353967030 136108174 882274459 248426636 602272628 195315464 791986981 321810704 400427428 577317424 933907328 611999221 867783191 262053153 523908786 834295617 365577632 814820896 850486018 576929481 552708485 685917992 490571310 993907478 352831858 100982392 731904273 342192369 394851380 424827194 156120688 926966886 451872101 399054492 894140906 998913455 699137984 400273300 648088773 332637377 265581706 622944674 491984199 777895421 904810683 848268072 405334220 472680510 966287861 674307761 888804980 359171077 704029454 808621128 775180388 966633631 465084414 783062119 862596608 897012851 672824888 958546833 420795871 847709740 643378800 472560870 847522906 334426909 120375599 436014280 273040230 148698707 427679959 912920852 373781531 517179114 487983958 107283094 375377629 823102288 983558587 772849427 329029437 801806323 133514810 369560692 117953338 375033807 440020290 599301357 974108588 541348990 783601462 453738044 718919130 177225216 374479721 906778243 450070026 462286378 370677774 435738360 597627735 704408133 567620031 265878552 169743662 320339947 971167067 540018562 770319528 220468291 745605268 200596097 808919164 218957246 979938299 220519274 497717679 799300190 317261436 120728446 859219218 307012579 642221363 987731483 148006224 552209198 325362475 635656887 808074843 556258916 468797446 925567252 195600322 619755718 304089850 590320560 377393224 486343109 177842801 321425464 726782274 422598899 850866249 557535463 517394353 692806312 907793341 216019891 725827406 307846245 926907884 569743509 238914439 848958135 679487976 244477559 996968526 502198977 658497092 553480109 540839596 483488499 845345985 820240861 896117588 249531518 163734543 986409211 448641216 156989056 746575195 907569427 657317646 999427866 970459113 774285295 867827614 449861916 942333375 979719498 923322614 422189326 626965799 253795679 226010616 848256546 263482045 885588481 383452504 117230453 292865076 610156612 433500682 188561481 285256637 222573794 929999546 700172025 157478476 293229960 201194779 851398193 251810262 834603540 591743568 569650274 363232523 206716938 885483406 324179495 218382790 724081117 411106058 570340856 391227577 868190742 978937062 349446487 242983163 199500478 653026160 832969185 237774404 242010909 793935169 365802274 276258808 670681453 964583568 301868867 216566476 525460303 464287884 568594943 467989436 382414711 662769675 402365985 829375387 174223711 462258593 609189711 219207410 512460879 551524415 512430834 642492918 607259848 484010456 529858501 593044490 573718402 946265874 342182059 777503400 503928674 593618511 380945445 327003688 821135840 749248010 567677786 427798477 644316980 512974456 553391250 955049283 314406541 479907975 240530820 502206510 513633847 743296159 923674080 313358661 954719674 199009408 446902286 762580601 531112466 245272060 555517850 359140467 939294649 621626482 162868859 562853211 158261466 399340094 451119134 619845010 693913469 135897254 342741986 702144670 906568513 831711705 291560255 258212795 674795243 439912557 935927605 639767244 193041574 686731031 246117342 764450862 492993826 684198926 446550585 295181753 498138484 789547997 564840489 550413605 967511058 923730682 903514343 288480785 482534771 137323127 866966046 701700791 851244702 630720607 406417289 367717640 758367762 233527688 959518595 650849757 694643462 295630109 291268297 794202107 395190079 676769388 621393659 769529919 210503525 891043747 902324544 366485438 793777693 459839266 200475449 266445878 638795153 230200096 918499363 370079451 269243865 394295049 517195008 318704102 663141374 170109188 855621388 485682740 295155600 285576544 890783739 982316925 268299125 695909647 429568265 155579881 578597820 824422392 332725624 827441259 642836443 564135973 947398965 320506359 727344030 844819349 845328741 610985747 344784154 620393570 124882594 450805080 207572589 757968401 711428198 615228872 666043246 181654528 672833100 904071625 235712039 353541654 527557641 550709873 324926532 289332594 710358633 170498257 821782878 429432682 283933149 897678752 980620377 169093613 860963967 670732424 891817038 173327275 345542878 959806946 367755516 902035338 433374344 554396194 929309321 806898115 886999549 802567059 140788727 151202600 752879269 291168430 671922428 860939929 173288508 185483248 537796482 335450784 136290374 810064893 110378547 956670289 804343249 995917044 635817278 935289527 380330761 984299644 506032552 659412254 356935605 885326648 648143594 809046507 691905836 635791437 724691636 656344510 946074380 854922595 526316348 640836222 419359746 390426381 258375594 425316300 807401476 241258664 848621630 343396097 705678685 289505635 661953085 634391151 778334148 989291998 222685663 245606534 827229498 684792502 145757800 462700847 337334274 811644324 313615659 383605085 196776963 975337076 558852265 175294966 478748486 449372205 307252009 107458738 925445026 555854820 771092395 152849020 212669397 804029106 829972839 348992573 319555969 511807764 552660727 736114634 404124968 162086167 351615866 458209804 225297148 367064002 206838653 177632904 762468914 372110671 974129797 743332317 638603259 582907536 618685733 741666103 531988036 296362080 693960887 109131617 268821324 971634788 790090298 693571920 436063624 264387100 951356109 903765191 345484188 708284773 190908638 829658029 786090027 359058146 575168268 382029558 172872287 704243022 726558708 756222103 215175262 598115536 154419608 172691886 680136039 441713760 508714588 897209444 945449107 548269887 613587999 533374146 780798780 292888170 341811251 442115487 847523607 501320092 200641030 563319955 428061158 419349929 202920530 941915090 526122451 508488679 911800022 443101603 942352997 230079911 967743097 415144517 676052235 585896532 275578000 772700458 307170030 136861050 344874438 508195194 288319965 972163959 731197501 846140380 103273055 596414745 467790692 611956890 131075986 859645599 319115725 673598169 284131718 428146992 904879079 193241298 768653252 576024319 149640765 560776275 182739003 478428296 486237673 135613808 521627305 786529524 160754327 802726018 688610358 909195409 231828733 742449591 213692059 778523572 951704398 903441321 183691974 169033895 622894108 165254243 654395844 339288187 598854830 906928571 592337465 171968912 223314245 771848929 235452586 167520652 131437578 371042780 646153974 964864439 889400388 722797734 163861157 101453596 207022164 161220389 676604194 798986945 488851415 715245327 116735677 609068833 471559494 225512844 739574017 803688097 643160320 654899530 966161063 280402364 373206292 466932547 295738308 363068618 881617582 412006792 565167228 553039100 593631711 670640527 817552057 380048938 926887285 549086356 233142887 181701234 588798258 282151145 278951357 233148442 564748346 196230383 937918134 661273973 745479577 487104488 989529647 475817857 469650473 346565640 816389554 453852107 509154073 678034707 244066983 657815198 803431071 679326442 452805139 975925407 724139148 656584661 597802523 865864497 412290898 655017406 358128383 346308640 387447774 984335307 248444310 536721658 473079141 747908057 873507368 829278835 418350927 290544304 763523077 563426186 955826768 144934930 849110311 696732902 983056225 982204038 471913294 903493948 857974543 546584234 509475831 757778676 827039772 738501756 117095624 589472501 963150268 958795429 144528540 518775722 956719776 793860523 626562403 661183293 494258661 112462390 912117730 615205400 602751157 952474844 802494784 382465630 830183212 790133834 800668442 293512094 878766527 538978786 256902473 349725081 867364153 889898676 327764718 556000218 224926074 358428777 444016509 811663567 106288654 881654458 889350878 905940984 212018741 165877546 302588186 689696019 746833532 770341607 961836231 986369963 864033820 833901824 583748834 462988774 461361831 944425979 779953122 837917023 286357414 464048674 533834624 884372633 478305909 515328467 460878077 773822720 200706966 613186756 409842214 419028436 700824071 719393686 158961522 905725152 443135272 236491434 557705925 549590089 435326910 919772635 356222675 445889095 776516846 516515291 290728543 486912961 818405745 134766897 430647942 828070435 243956599 614154227 383607717 556231139 134911417 365464666 637241424 748027915 420536218 691655564 833063112 604374787 100490802 753745078 758758681 983727877 822168542 494953161 529500018 300515389 174219772 612836025 137621437 448427593 529047397 246633860 225960711 879717810 641356971 492201928 950617463 243826144 502344101 762100501 154667928 867918360 222850179 920892617 163328115 960178314 563926833 655261902 770046006 801176320 904845352 108084678 755802761 186353471 187917489 404905683 179360319 799250989 302844909 220985416 299915073 407235958 119650100 823968974 165383741 826455081 825946812 713071850 883627582 378335966 237795176 928951644 926697037 271397563 374739279 688931476 619606789 138329930 775395838 630685929 171752678 472153631 710042636 673072630 740702629 753085464 514644662 621143695 207335081 523158209 719084233 916965214 513399822 562226282 181195303 109891289 538341113 232047385 794919895 206098517 307333275 482534096 201130330 296274436 120517444 274865309 643765694 672522201 497495864 100738460 915158390 444605977 100277089 587537778 996096616 658157498 137902116 937776390 558107098 140751168 438564045 118268029 499644883 822377923 561303950 847474296 553538791 582069050 883012571 179560574 423435122 847831562 892801867 980680706 922394192 111545290 597734770 750617342 892775303 351656178 385594958 760326520 316908335 643569577 547957284 889213834 478759562 389675055 353194383 142954545 112353394 386488884 974884870 933248468 253161134 134269458 860733608 200759479 265475055 538527480 487348477 822278088 934827016 507602331 402216784 962994708 259179285 946935351 818791255 501702135 417119215 384360823 576470575 105242802 361020839 105054530 883382609 530202694 395679620 836363347 940193947 808639336 161890365 718773366 147616649 121748715 651361642 651739927 981438024 689979715 699089786 853013392 681631330 501684239 598465445 759577576 710040514 282967868 446249889 431460428 767744464 576720853 155076167 461440137 776848504 500153349 648256796 906563956 816248883 372930521 149317723 511767944 875392274 272537795 591983170 239267307 241625119 256585084 724334380 516424499 649279554 754888500 975920121 839895982 701918630 881002796 972812200 939112202 288275263 916248524 338805662 288432713 254512008 907387711 264201925 595815501 450077354 753703421 793445691 840240166 693764773 437672898 507100213 184209991 504471542 276335758 630407154 484207570 735663073 862308823 947978902 388804531 177818808 206345208 433750239 408805200 682254995 342600538 534302692 809436515 645855387 483944952 284990854 386638475 432716180 421051744 336335490 955134540 715529316 222086963 391879113 991576242 968538816 635227516 734996577 119525190 421245244 855364393 793703176 248952171 895513078 964693088 153166844 394070560 985680267 595593531 408564632 510504777 632010599 433215273 485899804 967654453 837591692 975077571 411420458 162619585 100726110 862333315 143026014 920189441 738636258 749344090 404031264 998221226 175680679 689468544 725590121 227086534 210840605 840208059 414280211 353013385 459971673 900415405 243839332 649209396 635547797 662358920 119031427 926831617 353705723 826435204 469253449 374954689 894224682 414450458 361940350 525354288 179966970 818088986 441199830 826765505 919498835 215221343 625882113 336102083 451464174 552166677 867333565 288548232 839153491 742540700 439752281 411478503 626681186 114593537 234085542 326719757 809267756 598645431 301160423 874683135 478086673 639632051 561332266 711456052 892587092 737808320 318831303 971227820 840776280 744806968 404592297 401550945 540283239 209495586 246096680 440622251 621220157 805340615 138116987 415934704 392478017 364044595 251877000 830311249 700884118 601113094 371999052 894042981 209237859 605795522 352874157 488169421 509491554 415845029 351658988 421965637 892690694 993457070 110547147 786335489 909806281 618009299 892284519 562997536 186404237 543779574 210489756 790405917 540508063 249810494 319468399 421848745 575546980 895066688 185673941 569985306 820036730 947835456 237320459 459902334 837816756 782347369 840049070 875028018 824871505 898828273 541220342 148692554 781101267 103425736 883694756 412229288 499333572 281778986 613407924 174983565 989992284 525119611 468790368 429322293 498932665 329958399 966859500 381013831 310827734 867351817 995658411 543917091 554891365 857520781 809762381 697433040 814160426 297295855 573561021 806463808 398576749 983159175 691507006 947912850 548359134 989147528 108494023 570729485 926306294 474478536 915462412 406587087 279792908 817401983 192986395 101005876 233774374 633549765 734797397 113302215 412125309 535223235 335424372 252629258 723972560 520577163 757035548 537018527 971484400 708595036 754485055 787459361 403755506 905586495 232241740 536301472 802884111 588807252 275095667 423812798 302495149 935260907 743262002 171853303 857207767 210267297 479520892 243339491 499680103 181991161 918414013 803391553 594769434 561266609 971927128 736440200 703244886 181726907 774457456 818136810 213058759 430283351 668616727 176184338 699533404 862941594 535278123 862230769 888308313 800121359 121172887 510867092 398530204 172427397 997683463 610048054 700827592 803025439 664083890 769094654 141206177 271239097 719268356 728405764 220124468 830882765 510809502 951890074 979747662 385591292 130715936 381371009 666831000 475700741 497169144 651551315 411832659 473639691 879689322 628041967 814480084 230159808 536026397 337672741 885581546 312954786 245864263 530108509 232757222 992974512 621153700 505781056 563711751 329107027 244296585 117483927 946486989 731314965 477733758 287200493 727513732 963936569 137369283 226491001 707295139 136680126 937660388 528318715 836098509 236678496 683781140 678442648 785588449 819574669 516792944 226754598 185401027 637525614 641967731 242847761 235968492 483653610 546214779 902653030 266743116 174026801 415428756 158841420 257671863 656585126 576658554 667793742 658449665 257198253 744587514 668032422 957409809 187605920 646708171 510751064 172375119 391238105 191137352 987100379 937025482 120761499 847414227 833150917 778774818 438219381 340412853 999547084 743133780 953479823 101042294 886006555 443543987 336677822 128581985 110913082 526729781 293831998 900264039 634145809 372364756 437404974 876149768 624777121 727144882 406069740 417202272 691798068 294282960 582236864 880922528 805881580 827832902 170037359 448986984 903727676 486864456 862405697 717088334 717603287 669426418 951557896 245144023 830230530 852522767 919097893 906714847 811370579 173626504 454613482 788955048 111627763 300440831 590544162 281371089 580714280 404929878 115333853 588148421 139328810 747663193 581149498 590358875 694084509 816723044 616677658 125404312 291700312 307577473 891015194 635287165 178831878 422687639 216294927 340334348 621168351 519041029 172597381 189842514 954937961 140927176 978343787 558762000 297321135 979321725 557338541 495335427 560625295 324495485 696024538 324118925 580938935 303730675 651213577 286247304 814973363 718470771 905885812 670367595 252047362 503188334 212279536 549444865 672867570 261839424 775937970 829471384 484152993 566170228 364180979 489194224 221714140 589835893 499550939 316152793 507727600 575555316 604343843 657073355 560399751 830709532 744519380 623572034 489458605 699083103 446537415 430505083 691000527 842327797 233442534 888867853 499425213 343598497 683701651 184692290 537031150 396160301 191903367 490631833 951675062 266879318 616855217 369163846 316306175 861230762 397156709 533982589 555868350 825557118 817430071 607401719 221040917 461588691 750514742 680073086 933633799 167620102 318770763 786943288 996034197 661611374 271314845 784138901 664046306 421498592 944954328 517287055 122937320 259622046 257036170 259285753 964253482 699605611 385389398 276231750 874441514 273981675 367493058 924464647 853726830 119064404 495387723 675702547 927260937 868768016 882954287 524739765 351191160 628224433 288671484 578640404 449739241 630785211 204829552 509362381 877135115 653787410 134107193 296428860 490995124 884176213 667655828 435553019 496639324 855874251 175666570 608095439 275690549 678951809 253002333 449999670 916789841 564989575 805802426 416123003 788797228 600238876 946639882 601835144 113514361 963876825 471427177 287408879 129209419 267114435 756004065 163483779 901193915 915340396 528066535 763095859 264672173 635309064 952738085 452121360 109839306 584977928 858051095 908565011 463320263 489611989 202533281 856988042 191349048 130682977 996136959 340895863 679341402 392999927 992220607 860337471 242900263 833873977 901303465 707239081 632326265 287805289 534615447 151502973 762377159 542329996 218091706 626870372 247027275 685776992 442130525 645448136 303685713 474531451 135963635 267239449 128300427 688647470 382188593 245571771 294675317 250425617 765807079 609621075 541117843 887094367 835573840 787370181 734972749 450565712 346074463 877514902 848303913 300245603 872045538 736852606 919117555 870300625 342447733 339031990 191275342 851887688 126002778 256629144 540188182 523768321 806543967 609019976 296583305 890769402 980565899 532539914 927571485 173654336 300947194 436973795 204408034 179201785 936772292 366444080 851501588 886512836 328639219 475993167 884195000 151964432 208781524 460601240 466205549 486713033 352682025 334503728 636347783 287016991 921061215 980890168 249562053 743499908 101684727 182518359 425552962 142010712 175037167 387321460 842886222 430815169 549240705 568888673 640599487 463363498 243525569 189132507 663772822 458213223 419697328 339199300 219234301 441352763 997239088 864361709 908098711 882914843 719112584 544480554 287872232 778354624 350955711 792094801 472607928 950368582 476612291 385624960 560659818 505323431 882732974 833672525 880153865 486549170 370510034 714605708 215037665 117901999 213163395 452472122 791150899 363527989 221381886 841511158 751824870 665344955 775267914 297527498 766831368 578068057 949809488 542682031 880099048 902437566 164068615 720575516 940373913 479150501 484669584 873321641 267170977 160323462 554363120 958128009 144523091 523819870 937159403 737226427 894331654 336529761 823126401 129173832 132005962 952587641 468897468 627898311 993793938 594461596 469046896 649043955 769695882 159851615 739520749 576909118 679389555 850190675 782478081 176815768 601364993 174730549 881721313 420003289 170082639 661346686 930959852 112891342 860047691 599853622 599513592 508268259 652709136 961289309 646829242 968154941 323232539 411715182 102463639 722099065 605833735 107671014 309982669 788770562 514889768 454132178 573106774 859488121 241459233 451438094 955048047 472674079 678419422 154804271 788970007 260717835 531236868 989898500 140829823 631597057 981566006 286353089 691265989 113668238 828546090 186220277 809096375 867028259 396789271 756463959 517423288 298895173 439706805 760121226 736402255 712072081 242519449 213338738 150882074 766729887 134647399 712010136 957167548 479613491 378065448 991338499 734214222 878623879 763344223 337147226 107871587 746195578 615794603 772455476 837833538 291337894 292316827 989096932 207391606 724962191 448457292 521299697 157142698 927589880 146245082 888531432 607796564 316382358 683624722 960520975 513705086 684706114 247559539 341286540 681824183 465051217 808992765 187645181 233969695 702416224 471323178 331559517 216330464 377103364 481678069 376606497 277728637 351062524 728359289 538226571 901379762 334574452 995582513 720540742 439059407 935697118 297773766 848655655 121162284 304009272 431908749 851834088 291205224 922703612 373178387 133117850 419561984 571068326 854977721 546645246 634378151 679511110 147394489 272546572 260580246 366011557 907799037 469622006 523242030 294302931 778387777 709438326 341843971 457300671 119091072 760072290 970090795 696234024 134470722 446286666 200530728 640845893 242784834 657727468 169512069 960579994 771139819 175992346 372440234 656617826 904245914 537904438 538694886 812530860 858163876 194154227 476550475 249735431 995105661 555639489 767442804 239055345 954657058 265340335 134357562 849314510 392892100 440925977 965271546 493410996 545326122 541768863 886145323 856420916 523712726 654522721 798395020 949398008 685592993 654814486 108002073 620425665 671998254 772831254 657060439 601943454 443546534 654141028 622530119 929454561 876715003 576528749 392533345 484642766 439283787 447172428 755758245 142754697 203484135 740448462 701944014 718742436 673791279 807368291 149503403 170889039 806879291 202149018 484981743 347513259 976454270 406815116 592637912 950509713 225090246 206215505 910780859 548044450 291883052 333723004 943545623 671726666 266645451 653684799 957921067 121127359 751290506 464478122 501519314 187569005 284363171 886311504 126428907 774764909 336344940 612380917 820616678 510152096 199999380 244583981 919826114 727443797 460152701 154351884 804466648 314983150 315449199 232005981 250700559 333032508 810945860 612656688 925798481 196656060 521997782 907608731 649184428 538193620 781604919 932323744 987153147 545084891 220458886 612167601 946897931 657252321 280846888 316557346 603402417 955357950 845477768 644572846 945113716 542979819 715271513 686431893 268977269 908818934 364419780 387504039 466864697 638637813 987131287 897700237 547048225 543705966 769179066 993043885 890205139 538867240 743381745 587336527 671145095 322542570 248139452 192124627 354416359 190233400 622203210 390888944 465337267 201414638 810269128 282167984 641571175 816648661 581829368 977517043 236708538 893877206 446580364 351895779 181755918 224267959 141395323 903931719 123739104 553631690 625373165 338759610 281342530 872458751 925276101 481109253 645089005 867391890 540620000 635936917 722050952 156677227 534746304 388147198 495864641 964648221 673756328 841776011 207086483 460704391 268124408 209757252 127753463 701101617 844618578 128735413 130863549 681766698 106620293 318788597 697060918 696686299 430623073 347009581 839384330 838943210 997950874 967943458 246206291 642535972 203660949 224206127 259185264 307997764 361212079 990412779 223212915 617256437 475447378 301358121 724690056 225811032 647261001 544123748 713368618 598841626 249825161 471220371 252788988 451265954 696747377 287692493 300932765 177439148 461514188 371299035 965989341 789706738 620054870 121139422 103290144 500147845 638567450 316015424 710278158 809011799 158623021 141254591 845261594 116676775 185655250 380695423 490775901 709688550 313594629 702308540 854997011 340415260 362335949 525516067 289219507 448780176 609755716 128864646 851993526 231582745 520994133 874002030 302386939 619205761 697058133 781580780 871633636 602557866 958744777 296573451 340577922 291634779 518057049 642859687 190550821 246696872 226551392 724453506 816355424 519314803 403319124 545268111 162992060 521540276 495455884 356003573 283197696 680478970 599073135 663141993 673771127 754013460 959466421 656035159 371830495 723451029 138006067 624800480 955012936 323234749 950042747 625836415 829820645 818866525 696635010 433955589 205333067 695947099 594375185 524458499 335175190 621035766 914480029 853543507 380308094 435307309 380584307 746818194 473658289 278445502 114538724 169880019 354099084 765791537 605697662 346295077 401346090 612147095 376748107 270406794 784429897 572356296 738087098 260262275 390518271 309017046 703163635 837716182 543298989 803694269 757978940 490695370 439096618 211729825 844239349 639131618 970218023 222577473 705664866 194523198 453740718 185479111 287431785 511708698 560046084 415057417 520008855 327402576 697136710 566826932 538407868 271657804 757471593 286899278 648175008 987060941 506601951 972904694 519231905 110590845 118503221 944192665 306272966 727563381 473016987 466163487 342538491 766515836 546922233 525852450 934006370 560324883 283178576 731564283 641166100 802456984 137872382 551402139 719423644 809315750 712074241 379778971 227284205 590761507 717080335 281445772 968399492 868833811 596699701 535050116 677166264 797620748 391160603 880963769 218054204 367168242 930292226 646139155 133538651 918417234 584976484 408650107 445487216 493490945 428005866 555104772 565050903 505542649 315238939 994209720 942127580 863936929 673808421 307076952 806418643 557428325 745968231 431616319 691315446 470036745 920582649 566567936 975268549 554103579 739699222 577513389 540473277 841747419 181406981 858365140 182103687 569529989 320430791 992275606 392606061 968018520 792727898 144513019 219226213 203897630 945731974 461661126 506265957 918507279 607690699 743184818 936371906 558919941 493059262 441975232 810391647 210958788 297076262 536207565 972071894 271062988 835566005 484185328 549147103 534438099 200042558 875947052 690703699 624354508 202519835 408946091 832723892 900194124 632863141 430351089 895980697 313383927 713350283 385618214 773676839 623962798 992424410 404254872 148556075 666826161 450428035 138426106 835687528 651545786 322196022 476993931 585277971 398492717 414553533 669358748 199561049 980319355 163030631 514110454 697019382 892512235 760675952 359518354 105071253 297327962 413901686 148253478 628993479 863233265 174374771 772403344 336606949 754087860 394157120 982529781 158398695 773610693 190633002 185618491 289202106 641072638 556413513 127929118 200384789 387825517 562496778 567242720 797973194 887011297 528749119 580785438 159954458 215310802 555493311 806148956 556755060 114849307 885065324 863641991 348793573 353277464 134691382 509896099 116646230 973144975 797792985 865318583 257702690 593398730 499463900 461590250 934823167 563284629 816004531 138239736 148667376 804385631 907080143 400111243 501663661 263158969 995988506 163120929 654485514 891834826 250324718 467152214 100837544 869362948 225822905 331140359 564083631 622321842 227338472 748892620 515865377 799350477 431745905 243655423 372378610 686179127 375668322 631359751 474501913 928232719 810337487 333515867 575095014 826043232 703184805 705141236 815828162 407732180 890134942 855283401 510478690 399752102 833950908 283770547 116730631 466274554 201897275 642551312 578517091 830988017 873905895 557874391 305236075 233345686 541891240 571609293 540055837 875968302 731502058 875448122 347557003 714759842 327462574 172286374 895454849 162977810 363854360 420692355 961630219 349677889 412697377 739489579 233429302 458911562 628331516 974321901 612105038 225290229 886545024 944008668 299463669 261109283 194656312 963657010 102932939 856973618 558958322 824543610 489148214 715346139 431237437 904182005 419061979 611937052 251197280 596234002 408360954 126962079 447543521 765750272 897155185 774826678 875162726 269990681 800262345 363040614 170841150 245161402 814044954 274292805 808022528 435905508 880398942 382649568 975782714 348421497 551862606 231481827 738356270 434365485 140525727 392029946 156135304 803968965 116855437 545249139 853649619 324377326 850099748 955332350 237132658 115414834 172265705 982644112 769479564 462313803 574689995 739136109 462354104 450964566 780557999 953508011 567412391 202866211 185478519 693809366 106971457 254685212 530539603 710671013 769452190 251714950 841912506 698792469 143580105 295891045 457435612 829298750 384861903 937411743 870207526 534905996 101286720 536152035 774746711 319272992 870514474 686862681 365782310 910084168 432104097 994143626 363811841 612135278 660477047 230674106 254812986 108901256 357998976 219939805 228337255 823972309 363445890 592005871 477822047 492363787 214921541 779225658 775183321 657937318 734688839 222667408 202993409 707821843 604015432 728708240 435560021 638591188 581300147 747744264 233231884 684696297 891527933 939764305 794479759 166770639 935818923 642855603 651189429 215832159 341907258 330469320 188837997 832988898 675468010 991856229 625987412 111021385 643326011 769082580 277826054 229427955 999555946 412706952 153531692 134893586 772267476 895936084 440486614 590685746 442525288 941866748 184284852 632772316 437108723 524201844 328776065 295283024 172542737 171487750 187739736 243498611 679157446 528823758 706839133 743666496 259027642 224483893 671503436 159481326 294338705 459329449 677939118 670702280 261015164 301190229 479699093 802652731 576020675 748102064 269883960 835615492 133968232 951661716 674798562 364622154 262755310 220556401 450554826 904576331 706218562 658902800 854558717 579733590 421646718 378151485 588757495 646157448 996374016 121634180 422645854 373783545 619724317 431135569 444103248 778447154 122279594 993915138 116150586 230139654 256717569 100182450 473098476 731059415 164959089 558538390 817762523 730189269 166951973 806875870 927684467 578722456 500785166 540517406 376164390 137876065 914583693 133994941 743023109 557214896 573424350 614964889 793991532 572057127 920160822 911690426 128575597 846393379 239860706 318447103 465596343 247230199 416694782 970935608 143523876 218637534 207633622 630124175 919612475 362517748 791404458 103752701 367649548 904084018 409714620 751542473 651312875 879024292 219302753 803141455 766096284 288773225 986065060 830809462 889663655 785279710 511915795 281544931 897490795 444430526 394605803 798422080 704647579 322383295 146792874 477919722 139133737 878985348 731963544 992631516 217467687 521443873 313540441 491770746 557203236 553125234 909610190 524184236 764715403 349512184 325915430 198840915 666188880 379451092 182605166 353316879 558910735 560370701 558518216 987963504 954324947 342442321 288078848 980275012 851409852 768032449 304617225 530706685 256714122 747068393 178545828 456880205 496040424 615729834 542893055 776920650 885117799 599020333 268305001 236993470 760225440 542321208 749436660 289142285 554663513 697257767 325786701 300563886 477450440 975503152 266527966 799560540 900642351 435442088 547302350 534607739 350749183 331203049 430081616 536790961 329610276 706891622 160682237 160395936 747758600 949509801 114327576 491468660 665813732 515011457 724203217 306208135 834281598 979923192 698943652 271892708 685301832 720320180 872944252 220268819 804949959 668709915 550158405 527062889 280892886 552758892 876193218 166294803 536924702 129549005 609297221 565333456 983308330 398649907 732862160 579160209 548964676 213778502 680217964 194251589 693231725 841721841 367575458 345616894 431226437 738839238 974904706 916461918 270141040 989190117 256943637 619783728 481916845 275704041 889062393 855814641 133919040 492512175 534692213 909616092 392067210 222842785 599078544 912736656 521914010 914917312 944094438 803358448 978574095 880132525 879613079 364135229 441953267 512502977 411735926 204021862 619273572 479777770 851158017 579451906 709779821 139145537 863963778 697862890 622435781 186026166 598713806 651790868 968298951 515151387 203019733 573663658 901024600 104920238 707133087 215235678 983008112 561776984 302083735 364255471 240394277 749619529 344785109 866981709 826831560 532714584 388332887 897937729 601373492 731106046 602409307 519733265 559990834 500923503 825426002 850217625 707551240 365317885 947959323 392201060 331329232 588544419 824373751 455703843 495568010 192646442 518845486 421883808 978381938 198725420 523807846 516600333 336416621 119315166 492427986 235589175 679774301 232989824 828519148 395596073 847366187 833360092 171139940 191170015 677573662 776835971 337938943 542372202 603993511 251802867 321235879 242032845 130488138 198893554 247053906 477621748 282072863 735236842 419729697 906694659 314766877 696349036 872629160 401456987 409338389 646719311 916310239 617631383 410477662 457477620 621910515 703102920 594332657 111825082 762153786 639902792 560978041 913584658 531167371 734246421 319156433 431265004 905854148 116852532 450090442 562074844 869537132 557442289 557806954 559031786 659819775 993578804 295034411 214633365 812702117 301544229 287138354 832256820 749380228 537367899 700684886 806593571 698482502 360509324 747071388 562132664 580015312 388587645 151167200 601639024 578914230 854114587 739649478 561447586 743047506 449211346 531286365 628418279 963573977 953938738 663048792 276468265 940821040 256519171 947089743 659015621 673625906 399759881 815882677 224661677 982031433 150195790 652100329 365972822 166949063 532175912 516333850 761623105 945306674 400628969 907165275 506586910 105771239 956937155 149422496 615255804 572516668 977058412 544901989 793221439 563455544 492410493 540015053 322690393 595671044 880086036 733557836 272312115 854452775 168269796 288853018 213992060 826862711 243141604 780298658 219374136 690523529 443554027 930568942 897581975 512284378 353626653 154969548 331282706 212473329 220828222 862082550 663647071 420009668 452032678 414077530 717453518 221306919 806537114 178743648 463794906 779897723 445340001 184983516 966333512 951532368 173152150 739018689 309949579 482686858 213374037 559884374 366042818 279930894 357654698 504426807 761126485 600683387 751281070 130523927 276668006 595369184 485184278 708472995 835932502 225565807 780957502 429370277 214208499 284287835 891697318 468710277 933369589 155863660 964734571 759495200 223528260 881126353 527808590 854591163 421974921 158679795 155177178 955630823 542854476 951316116 544304239 543092884 906464142 283482298 346064245 467412951 284138345 413661358 578971965 598360840 491399261 746919996 398454722 730682302 206638986 970088997 542616023 142333813 403930418 642660025 527308562 767087268 711122042 609154116 844903755 709479705 110125352 608819620 853633370 180836486 193252218 470032382 968679476 826715572 261878065 563697064 496868120 306086207 415768456 781712427 811561602 108087896 929589729 450239544 263871097 166554702 870218071 295662392 942638552 467303419 281296963 675115226 347206900 932791979 349810437 469600402 104148315 718381322 106257758 323938177 244332556 743534687 399106433 209751965 125262328 379062426 106738797 326468312 715636708 572312650 844351068 554137745 170369801 993787776 747274610 681331405 331614186 624942514 823623930 516662933 302203390 485876948 130563602 892470617 391774064 695349405 232204838 778713994 903035941 700985447 620714831 140170846 156378666 387850390 330624218 793499974 338818148 709308478 798413469 645701915 754583863 413846748 212665599 604914833 867124845 268145896 486239257 242007073 473591730 767273342 843083634 594960531 988826955 543163251 679060433 916416927 994397018 131642206 357776065 417360664 465713732 219588083 637518841 113155472 321322979 952553521 495684967 606645103 382049601 983070108 259791912 794315256 568272963 913008700 666156315 545426903 718509815 903999959 207732592 331819808 750750095 269736579 895897099 497748010 256614001 233830975 781859933 814534358 799697640 560802536 719901463 522812832 426293121 299105180 491587811 628061536 736650734 914793452 378481826 530999321 259476036 510213975 732462450 205511353 280254958 425728266 135884662 552796262 601290833 323820397 126357857 695812669 197907005 137560614 592387535 490665624 103406789 146314718 380546555 741897496 405845672 163963505 576863198 508609665 690048246 542654579 445377838 345871028 965474817 709870547 645042799 473632972 574410880 383039620 982888933 112495151 417706310 975474046 522737072 148392409 622069049 119611532 346815399 745299178 534448590 685039183 803124725 920985114 234798213 311802023 497816574 950635513 606996631 132180577 483086680 462205170 260918160 815038377 835077291 567287520 359688634 758669966 652878511 422729325 956555994 898967949 645171711 691895001 688481860 360898503 707442197 942089284 910115010 390862382 898619147 671108633 610003513 381628851 230656892 350269658 383674325 522827094 523689417 772247641 511544279 504412496 829493707 193921479 192190900 117713804 366177411 708487052 622053155 475089596 511835676 911279232 754968335 755608164 371316504 127539424 160320920 570723801 470556056 803739804 909529680 890437083 158943829 435273582 990702711 625740102 750794466 756208871 663336324 533133259 487698482 736502558 243947466 794109293 595320609 727186551 120662420 631941864 140738234 837862811 106464436 296128887 594947423 867077239 181578163 430906378 487990417 424785412 251895192 442539639 410167013 636149471 646089543 193825017 330679608 587029650 699471413 719129703 202893393 667933777 559601339 701779638 474195659 292812971 260228088 174865276 657449427 907952021 170779093 923927024 482052372 192109746 144462298 733508093 496631733 160215060 595193359 431294156 869299336 198732497 208085221 943186361 856022483 703911555 827194847 435414714 298983726 640507955 191397735 252758071 942783707 381048574 999371950 141052492 332049297 808277936 228841363 441132937 196859609 787996829 457774672 212502653 992456591 568777938 676420340 919304120 899627795 849148043 291936015 862121111 289614299 854425160 696509912 278328770 123388083 766046964 319605843 683602404 504374491 114418581 527773764 285388621 888484699 952656508 556310565 364124706 681085869 749898838 934207017 777952083 445189008 801771143 740283147 418362549 376094234 893510026 108699757 233509295 322025963 213816744 595482028 825027460 607240042 145220046 147125134 507341970 582129879 405288325 684592565 336255867 986839829 260518975 425851714 177117187 192161252 457855858 795769935 734070204 672187080 378315231 971098290 131002923 673709766 439983963 258355261 479041589 650606693 246720465 869276672 815541326 306712627 266135042 250152716 391131146 988946469 949535060 229725469 202109195 917185632 258342174 185517919 768758094 225182196 496263854 544152984 273452979 190422834 863809262 909937536 159195489 376255726 506436676 472610436 932143904 617480276 452813147 853497438 479218984 725327692 184712860 260212633 706173952 984601365 160603191 931734136 196022708 323860879 421429349 830772624 148710885 834876853 187812386 210267020 989558852 917980124 719001203 803929428 539951065 721646262 702163542 102301524 845983711 742034615 908249265 910785002 155092886 780145443 140968826 357087440 779971338 164504397 530681365 196282470 424544178 276144077 903970207 607994760 144772667 941764182 318128382 841788319 687671073 721002371 889577012 484589223 571119377 354331931 442452338 155821470 738982432 727527002 400856515 531657988 460300299 577662021 295300101 651266382 550304173 911968531 659252830 528265940 579721038 715890852 652013534 983334571 662787703 609195709 777913188 190215363 349942586 539049384 880073954 397400939 734951566 837910696 554296891 958849604 613251168 437079790 440377920 473877643 281365948 381094097 129793886 559069734 774478604 465851263 374727852 568674835 978518004 194151186 432436247 406674328 269101755 921641148 758325287 238788735 718854836 184093861 189787098 506903463 416012732 811766532 610400362 679185946 942401234 664740937 520535764 130333347 742661856 862793137 304014574 231075559 805892944 722110016 859398987 911178659 929728088 350927757 498205996 605569513 475529052 442755072 394119868 850695678 294938685 294198083 462839904 883093752 923343030 997758776 158451115 702142107 564295858 330705727 329748816 920861245 863318332 667707610 666814536 192390582 627446823 935753040 286090306 157663599 683663948 856369226 148552190 172907805 553373112 940390364 944033854 617990287 158948365 333355613 713780234 771641115 833764994 681443075 668356726 167635630 438563734 833110771 806527256 452043168 653320058 259792838 781356045 107399666 562123806 730725031 472518607 809822369 560711217 518842428 309413938 114026859 791377992 881758864 592249514 146566746 165829276 339243673 728850024 362338851 108895710 498029561 791538251 143695890 885272071 800322289 681057579 304976946 228014283 453422862 317510376 585505149 693327732 160642530 421546561 739935237 435732308 226418354 922395249 313391971 636002454 726573897 576864118 603662396 490156410 465148276 911919714 437143251 348995012 975619830 623472477 533609640 654980081 220538724 107237438 309389393 521765498 739226358 911922997 411414318 697330440 286633436 467185406 326655751 617057590 522122462 325547500 112843458 793755484 364600609 561602491 544188875 158373975 941953533 933759158 746394578 514656504 410612724 767405029 549015315 890080908 309498382 752168887 671199207 491871603 665791980 477982736 810874617 937047161 135807838 256789588 904743297 244730506 603021349 224928656 133085486 991865932 961874461 789248863 408018106 394244873 148911845 750982481 371402239 563632223 165217918 494146734 610378101 779059732 304225309 859621893 863455597 156137070 602142585 423245451 839399668 223265853 714287092 654990295 573687948 830373943 148715775 283493859 656853833 721749312 357732401 312666276 858770486 371580370 430266280 184242373 115765995 399834730 649356649 231449560 398324600 841045211 808288931 505174571 536842984 120442103 271389534 678695854 419519093 517025387 381004772 890333749 517760550 148362584 184162333 851556783 660913984 922389069 361025592 735890563 424822770 220535298 687382722 498388344 268721954 708970516 474306131 634767581 838422954 542578106 581828637 685022555 844824308 234360020 891182804 286100585 995781225 446226602 585199712 330583271 857798513 279236325 653353966 140340203 997406595 691934472 844681749 135702190 209273259 850725606 539530562 108652912 252733330 219037487 678197672 117877509 519285298 473852641 564479791 890603356 262024571 335898349 114297546 514759878 273928956 302118017 881731875 615548922 496319905 509373845 930762461 550703506 283459305 519652842 399897607 384202959 726831461 488051317 332527828 472887855 876253502 491319916 860680210 935743914 329555168 525663215 345516253 140781341 966276976 446255246 915648950 578401561 137413656 241703394 797586025 956944629 951789302 978338620 106841867 227127079 804002910 646495323 686814177 710457216 130951598 473346575 177894855 707234701 324516216 892672997 955947590 747276140 243346082 561048721 603997680 102069555 573864879 541940910 205859657 212821218 118496056 133698007 879762424 221873773 802686964 130485640 383900339 636959222 299076832 236387320 514245830 528457586 762853473 809606413 150883921 332759908 304159873 531564404 339215628 915688220 170466306 944964631 750203853 196760715 803788346 203741530 677569250 385031750 242878867 853297931 113796318 549782729 921800601 438368071 703186018 735387476 510422750 141824138 520000517 860236583 809106628 987543448 348083562 958811650 870393363 883005717 480577175 261330422 537661590 807115618 678820336 363038751 974261901 152348303 551453012 789236635 357314028 462172561 208429835 126646081 637376747 377351448 116911482 815402414 612691276 532235970 661299433 492201680 688909276 777335754 750283527 821116888 198786040 638732407 723475490 610419028 965956377 125819729 614154900 583634867 852324380 440145698 151993198 260594352 849495893 849440552 140650996 451018520 654502570 552904684 772259490 299532060 380089068 778746763 513251993 190920862 669015508 163291031 803383024 478527672 998842382 903916195 110302820 976045609 277989854 920563463 376911118 216048019 352625922 759788986 294718317 454431844 448761779 333577148 492276330 733148764 406261545 270383643 730151479 722630399 686424769 655657663 661736713 551489645 372150361 961639501 676825840 404122261 435633034 382608401 573319132 409059871 106897596 513740404 174042829 910966029 615956493 245788211 772975381 321790112 428564692 769272868 272935332 787694402 261029065 322129786 227877325 163340846 755481975 883722587 348699234 409632916 799621562 735824162 333234437 838538721 226165049 184085036 429795663 317915261 232480707 612279004 962166591 410883424 621570645 295306487 878837315 178417971 274608493 266431550 118305571 311448329 159351398 531575617 633602992 561127492 660493802 456608758 770133327 958575422 206358448 933714430 943575369 224140771 409710666 328079038 299610650 271075022 624239890 230838745 857087172 703940673 268271266 999541464 852168860 324256342 654306456 287577673 144725800 107991127 391249400 948174006 697034049 776290021 963567174 426290323 159592137 190713602 522351614 893781908 622607717 924376404 144810084 484921292 844634115 535201042 839250710 433282922 722647645 397308753 993589743 400581033 217364410 449703775 955492209 223870678 549125637 405544861 752961988 321655707 614918945 489543893 351042841 438274344 262990313 164948151 731252407 810991375 922732012 100727488 529846133 841608670 562143782 312002529 247921642 842186266 509464249 950644342 956583477 588894735 893399544 783446910 251472741 269378406 603381447 616357652 663640005 185235629 127603553 412835390 395231830 555895051 489804210 331328752 131725941 485695180 242192950 806732020 564925002 805342843 201257976 382734790 847020036 537849468 583639264 336368628 402295485 847554387 539753823 968665709 815177940 967077830 370474313 544903460 793992824 583766934 382804498 314015229 578410272 263892724 703264681 512799521 354585470 520231298 363204246 935423894 487256885 574999181 684440625 116484077 836020694 290474577 868417926 309798069 553956968 566955091 733427964 817426098 311986767 323510722 156719892 616936918 686336726 933046244 827707859 219071268 771580558 588535463 648847593 316516426 183648347 566004258 152742132 939939869 673113175 601794009 685475746 725312941 655021178 382429862 503311185 225301043 781343158 163997408 129601944 526120577 822985906 482113732 618753267 248860145 457843298 455152616 225537819 215177996 886097050 663373731 916883350 777127680 921610157 168656269 992116679 977450758 908473192 924142316 483413033 281700230 876409929 512020990 423728816 623594760 677085852 550141534 876599846 873423943 433515057 655679921 456315161 218612935 180289172 838064219 240046686 145705528 773343116 852455541 408361967 456809408 666849786 950460117 199204118 309249543 830361559 428221088 675305763 104590749 753419278 194060043 464065778 126542944 675791847 699812354 225751559 447366085 691382384 450444147 982488139 676914419 925592213 375851558 797417632 817804878 426298119 866224654 227466288 597119952 787633670 492111616 649219573 925403460 828792874 421566564 639312309 457375349 244304056 359912989 609248003 216248274 254659468 229206285 874093270 359473866 592142466 375628614 329830297 792964887 262022743 755349930 982506285 574047829 695148549 277576336 137435004 803438336 739563660 405926256 243006413 266327742 965691540 653806196 939751884 377539041 362226879 634042240 225593288 606556040 909926693 822739848 943535695 256795363 486463258 274841830 342745696 408595196 637172594 179278306 201132922 215805981 371585380 521774800 806549334 952930455 743146993 815570254 335339638 304276115 978124181 793913894 707696920 950803636 870766222 577603402 709589622 751465813 428085910 977260602 953303157 676252913 222251695 649112867 378249220 350642855 667682178 445209072 659542001 328985654 215134918 111803309 168316685 526015540 935507420 223855183 986992353 732672660 480663771 472697154 140221910 741301626 524086640 761830865 914127727 608106231 383206452 834725435 111875568 960850085 563003369 693458496 276271966 394688943 183692645 502099814 232445351 833308225 836289971 955254900 777844806 301958077 844893902 908271740 611441194 930660052 768480870 460281117 980936369 701520411 440087248 211098908 951027894 605395869 504399077 426168320 576632892 788996878 909024100 708899100 924054840 671241898 855159563 661819807 555151669 997457595 338949686 734731989 809389253 106219961 269441598 518380085 155917022 316661393 408836139 906094794 295821681 328555108 929767306 977650715 378711129 158492999 151312245 889828421 326372231 322668855 195896282 288405068 664672232 940387776 411540418 888091677 444288609 682552933 247446090 980532786 846725987 134448070 774201419 344602431 391408898 994052008 324308984 765719076 112824716 573168382 214098850 330262745 449150352 841702720 481906344 928579247 138564144 714284753 438190147 685334664 158270876 539447496 235557985 407104361 215031919 530673634 593583841 298284866 359670457 883114565 283843437 206781874 876972493 197547317 476437418 160714119 364416506 349927275 324767790 373359399 745433243 297028411 957780921 367043896 749983216 282558869 913898641 317562127 677687634 345722689 114504660 302483589 616456694 253957447 439926425 755890663 798156865 235680289 326758553 689629581 783727480 604991370 258328635 492585441 857060561 306608714 834928327 594525371 161233308 410097071 908091591 533949390 685512666 800890968 550187916 182548172 899424460 836246805 938696133 998242597 852650842 302050335 466050026 291589842 869307930 718687319 550288726 163349335 372613847 251553266 326331377 663707276 276964581 386902050 230607709 352705665 522763873 198372298 601760927 373716434 949258014 454155003 328261303 637420661 312050584 732009169 755982651 184880759 621634922 261950494 578778393 100246940 987656798 243561023 760601836 493563563 962389211 489169496 867120530 322855024 407232576 921040117 803008871 272881505 748310897 126877910 915733902 502863957 332982553 331084402 368494084 816918532 834256133 681371763 789517464 591398394 945964203 861404514 228698175 177108938 202942526 263061648 103555145 286916735 104952316 745880861 777667307 980526263 125384947 689114540 391061393 163592808 588650425 697531800 769921822 930083447 983828136 476582586 219244716 436513702 985893502 816434059 179775435 712802265 227548210 825265261 715166926 160082743 601948585 556883343 210424113 453541609 120690281 905672145 641730177 771729251 623237906 490553130 919182336 702537006 229683773 120410236 469424686 459560863 191547019 648836501 600637607 673283897 546577624 980773767 908927504 365810194 119428744 198183367 924369218 473473266 778792847 744207802 968315204 204063735 643653293 660234815 347291884 458554566 769105315 952666376 616326167 593406010 115618994 183693148 431950869 568542024 442607181 823295345 471576223 161433004 329581988 423598692 890401428 416743024 333246703 408054434 902661278 177803655 324294419 132951094 127062728 660478998 781956697 772050915 824979644 798622941 759591123 810269676 118631060 373907669 619967145 913612478 596584039 752912922 970786030 220583401 692352688 784138545 307879310 122690676 981187434 121485205 106224948 694608390 834728388 906242668 237961083 960864568 574308189 522327567 246826813 621547802 521043227 671532005 706196131 917694872 487788212 355695730 111281172 412984675 783099733 303182548 677946737 127701864 563256103 341273614 591676266 832246465 274526049 223284704 627396810 470996528 564303096 506053538 254524773 253837076 381305544 529149210 926763890 513642778 402396743 519344500 168262280 527366099 837526195 403746526 209138137 954395798 444443429 588392544 231289272 967732689 873714970 416460432 199012251 842634154 489975423 501006871 397364423 368968413 381195577 488472418 783484824 943270942 307337771 739865293 382834813 360053434 586452306 630963592 576990704 110751742 602002543 759654377 223040810 638737747 432012135 841087984 975172378 279477793 980595435 381708845 735693196 923436701 808305337 412251328 241084790 834087712 486417273 139191242 229412210 720605130 904067679 485191801 388946076 595851503 304071821 727359779 294423889 850159950 631067286 717596962 404076547 341492816 657130820 107557000 509197415 699290680 857990987 618435317 522873651 397027933 309212735 604718451 867866364 421814275 231459745 378849366 680165956 661342394 173056406 271803507 132901916 426848651 148899483 811197223 244994708 749189991 509948523 186604622 504961493 187158049 479366890 609150504 935433650 867878320 295613365 457368998 540692099 569579888 412603520 173352616 567354430 222176539 576144366 729055032 333451571 130706189 162963452 277640003 800529034 317672573 922427155 274489416 323627330 667587136 535429710 464998138 833468392 504211652 847721021 922944512 572543596 820708722 841329109 272037938 586482457 921678349 652136203 840769661 390375183 782258575 479323776 495779568 333922588 194437326 573566793 599918569 230149631 329563421 942501428 138858601 737534621 652320317 652908463 176824978 566372812 827527429 647583708 109235356 679068641 703816460 761300551 356682221 924140193 427786754 694623756 381628205 733326838 583068524 405529877 965465246 266377749 431949066 704642437 360874811 577695094 294331279 989360547 485201991 514890206 479207305 340011382 341444312 654303071 281352971 983879556 748343595 656476108 449325215 528022217 310193857 816059986 365162242 727261826 306443377 178587563 592169634 663733772 638166779 676441482 467162500 594501900 171382001 659283950 443610742 913208040 374399906 966333251 826557981 263573314 336459644 906456058 897223668 488043525 252236302 810519393 798745200 957423034 901382865 429129401 555568234 160920343 848751628 109323391 417482294 904007955 882731590 306784872 162944426 919000115 712319369 644369087 394872487 292156844 296073408 399593178 179509914 839942202 562923337 925645661 531559350 918391975 753104629 874785564 111100334 294868109 768597830 264241809 593095003 443879688 344537786 128122190 960819040 885444598 758789405 861766000 876254192 358024548 933309736 154337026 682843861 492972875 521934632 799570784 681819436 691083650 812683719 713378399 210242790 828181351 530472457 281136579 805122488 805365995 672847285 604815195 430866747 999244218 908388442 565143964 441606778 694950407 361823912 781016445 666433818 756122846 442446000 395140307 427137509 248722495 169329030 858635603 719211984 512783768 598167608 344877841 782029178 910449655 224448395 111523964 139557990 309364519 439021472 843620636 165752099 826417112 963433755 639661934 974313407 643991871 601812078 567591453 865589108 917852175 124666329 759026624 374982830 653943658 106150351 976005350 157880115 688718469 258759203 817721299 183477388 304852441 623460649 840233231 396247204 843481253 155739249 870619551 416888364 790006588 209711539 463913095 329705201 745008047 690199118 160389596 926112762 792078533 543782622 295965973 668252299 709392214 520763157 334342192 140877919 192092703 629756742 272862238 167491491 279553173 904468676 894921757 191112555 366794399 664716094 118006192 990443829 423470533 530264193 189624033 453964826 972096648 804164463 344810675 104729643 329660706 552750935 455081031 746737962 807502121 823378647 936785298 435151153 696474417 329920342 377614283 450667061 231735404 870379756 569018070 989563507 361080711 696944173 584959500 188517481 111285917 253916549 329203822 565724034 675939243 716468600 850179700 854823980 151239721 729532950 626803789 853830834 714725747 119194778 192845500 895905896 152349744 302198236 226912771 842512485 280211469 800587233 402835109 142639890 207058439 418809046 297589776 316990756 714989726 356693053 574874772 449033703 463584405 927532833 379365358 601269943 786923620 183127050 677582597 875859602 436328896 775999830 817056848 208414873 395851883 242337537 309989854 474069881 963096899 354228549 777874389 704973117 165916971 956436001 872235020 798390227 534539790 174251113 302416926 681100029 446389868 190892559 636821536 485456031 911529088 429176445 982461505 176201767 660619959 415750996 761561310 540283245 411255525 315692532 156192224 384383212 263214223 536829647 916877188 481540555 127086471 221791615 270204067 298279295 849956408 948737245 598899394 343017001 614306603 299918345 822711060 768960250 324939586 608627750 225421839 172035844 925569895 861450614 507679863 284979053 304247466 814443023 799771499 517957160 469330084 739733412 534827458 344499803 136895848 290407745 193437199 624300708 481713292 363478463 961559533 319368296 662082880 693961398 328780345 887085930 893285131 492011845 808978883 381654872 745476036 472857450 661698953 607768806 109217031 309936163 578690691 398797070 872219719 201342165 131771446 891805999 614051488 795935999 379763814 202419496 611805581 502255130 519708496 258754286 559504330 146947897 167072531 901756937 536364224 576652964 167750921 913311703 489443943 120938592 548382166 715913981 111782215 292068023 373769882 918993555 870123187 617074746 198677482 900015818 882783163 951052111 537194783 229862512 159124706 656877303 747261309 361892492 289129925 748501143 582517433 388678366 263242763 401167098 728682945 354666619 731109714 369456622 302775414 556026810 833987311 814666157 349638960 852932328 913140736 636184639 275396409 232395430 173287622 500395774 371357575 555900027 521001686 770168449 432873051 628095107 600136898 821916210 560756912 336617103 675884397 943090147 291748013 173917462 908769984 640132887 420347772 209433827 497042663 820920772 996389628 419684003 445997564 372398628 689340056 602494285 197209808 832055197 831114908 824523575 595937187 482585172 389159756 134119897 890795630 717292056 717128542 466529683 209093427 957347722 333232760 140973846 814885560 240411233 481162302 711411663 975672360 702768718 470833683 735749812 933658651 198830450 503564704 338221718 495961868 125422820 265828218 339840773 495424202 895662276 864956202 694345757 739920356 368624913 914709435 173736569 296171503 381353790 332394124 239257260 781379342 799623914 971983590 783611596 786957388 624184746 552211550 953230115 417886137 330525838 842936732 729158482 497731849 994212067 610855037 837281525 356354102 943096461 883498128 558280243 818756586 958252205 403543193 926760532 677725381 952976418 216301469 161921097 110260485 571359565 425053106 618343045 548048543 281136285 245553089 182142667 571925273 823987561 135697997 873604098 520242630 799869886 959827715 741667992 213553144 650770752 888463623 981229937 102014615 364601208 680309514 947143001 652096504 365973072 955717533 197726007 118754230 983201356 862582117 482154065 919040989 988579268 547594498 247779364 625539782 887693443 837725364 186198979 200046410 494800423 408044783 897474823 300909073 896051900 285751787 691280815 666643115 485517748 360411947 993113343 621950340 374662537 249693739 333600531 315885830 847091195 222686474 330361609 219662882 651221197 447929005 526522913 388376302 584893018 147823394 248482132 213217103 283577214 461756507 246383873 850233620 891370199 312346670 953154614 222944202 938982822 381090177 762059684 827231546 305065854 877938735 116750513 547632598 190357773 392504242 369859525 163252255 597257236 804015652 240410573 769663034 468904789 234006846 853637578 656207516 311673285 964503642 942888925 561315313 909631408 360109339 571077337 759223208 646931486 956687821 939235015 885570622 686851352 899360482 111279978 958342299 788273338 186538485 973595374 353152415 541142453 524551228 609107092 526896017 760717729 403092627 810571188 193452005 893930122 120137026 319955584 510859140 315360950 421251519 169195138 733600868 959193397 293072547 151573341 100394187 737852853 806198828 804035531 431047077 706189769 264687406 846610319 577156811 119915697 803666698 444932908 706403676 840111340 169639510 223349928 672785739 761701302 207606715 113073937 185738465 913059645 920907996 158177919 779302384 403823234 673231728 616843214 443120238 883870606 862555896 373141796 793761867 130637668 897675178 908205267 619595517 644092973 562290457 999238546 855034401 422653088 956685219 919402754 703741161 113248805 398923470 975429894 967248057 768154393 487602149 147958057 108036564 130018553 582664961 811328643 368652425 444207956 986025011 272955890 926128767 528384710 549933386 503734369 976211552 448471697 983485894 602270301 111181876 542852444 860899658 399051462 253263331 498389821 528370364 613654909 707966939 212952371 608774709 630727403 513187649 952220660 156553297 270331983 508021473 386376745 475015852 458822824 816503074 640192602 737334527 462409247 966194234 839102633 527395372 819795164 418148858 654278619 704028964 883000062 239617412 839716525 902417516 131083300 840933758 612569719 611957249 149665310 704321799 912780355 377612820 607045316 640439047 879589126 476828222 509245305 203126742 799027969 658196476 942758925 165696779 191056809 879552799 186578228 991011061 797678185 384623233 670906065 688251818 468420433 537398937 617074806 429219050 848950435 851122298 403761395 101218770 164251976 119041260 136609771 314411162 121002844 192620233 652186434 193560933 864491998 965332044 253861826 599173620 122957461 883816182 676610418 765812111 939461421 227572509 840901163 547656686 621097038 944725300 780783270 418170081 919977344 600935528 702933594 113900324 429022616 496526769 194463506 237979368 347099702 795840616 721114656 389049492 787316129 277479792 124105700 510121687 201315324 667948518 793664904 516984590 556523996 434681787 965659740 523972772 324762026 248795187 714466686 674591633 627039146 114972014 496475109 342185540 948202331 431913193 492064082 230148081 995309899 288209570 339895176 135226599 419904664 471808399 582649555 853585018 557104228 989996421 302990429 197702034 452170752 938817305 194914496 614466005 228664828 201205417 298214096 436503904 756300961 236292777 731638735 313347396 616547396 150027081 267226891 114893644 688625739 991367932 380320522 447004557 928748069 514236649 933176704 916331812 459788618 410021016 948100107 983268336 582459799 335939128 252761567 996256735 122697502 211699055 923853017 838035775 366194269 642462345 351767015 743249287 859786777 297192295 217517578 214275575 589367715 883654857 378553168 364859085 514045288 929339331 779612699 341191445 958690182 853845282 801023727 986910766 100530943 544899087 573265101 875741528 549281272 135263865 268078107 426024053 722092889 767607876 958740740 950187596 963532821 984730507 738470880 337517410 932733599 546040300 900783044 497459784 944792335 582711810 254364761 906915000 395117709 697183392 877026818 778244781 407611819 178374021 610173385 176934910 686595695 841935082 926407325 292280861 283610448 668806810 693575833 661953712 181553654 127132970 805373923 291710289 638038967 220154986 913953507 919672446 623414536 947444280 291221808 273114015 180000413 478405019 120511043 939533641 933184704 734147972 245296226 193497443 835187634 989574826 694165757 834391479 660683264 504015405 378990361 359755937 869866781 165186434 510784002 154828799 154640219 715693424 138967065 358476054 973372218 242894183 928272285 526762257 107257594 562141888 371679488 840998977 321546444 677267447 971650579 534339727 528929144 115740295 716671021 665049986 208232201 899586446 643469336 762012650 715002912 699704598 758306947 177369655 812993653 373763414 197320986 527825409 100793826 568302949 559528436 372998991 790649251 363608651 490916266 413273768 204481366 438489522 706609909 350256406 466240737 296722912 619623210 197004961 504032547 332138337 797218915 448211572 724196847 548766321 981486488 457754548 826496492 384737604 445526670 174802882 438840020 316663121 306400560 881710697 525657686 925846639 595436882 922064746 841507304 356121573 107388420 476553993 226322123 834847917 485180002 848049427 818873095 745416222 671211850 153253200 397372503 742793598 677924665 369050530 940399932 879805533 737302608 824084673 887253914 592320493 961275099 164320860 778016918 556353429 417541515 529009166 600648810 455293248 234380049 688753600 461407676 983175580 123350653 259974424 936483988 208038859 294939519 708474368 216515271 550990912 812192419 190826697 476165842 929230057 467220409 632092358 591764734 712544513 159198736 381673336 255561230 401496498 854441788 521803223 246120830 833672150 109461851 631774660 199726346 808841623 912182465 954392265 144846475 755436835 873926502 683035375 324807759 625216479 971161192 409019702 320778718 730004569 181165985 441938462 402696042 206630755 307090371 952607422 726983809 624700091 789778397 333736114 239020867 402632594 254709145 721374593 225312009 959088476 270454662 414800087 132204803 884744050 663902023 466631654 325024220 466214200 883278010 736366310 859858226 408132645 498329014 691298130 731702222 562624964 467226945 568676147 764484162 804177980 900219092 726325482 547590258 638647992 328704227 815779969 642567853 393326771 351322453 973418413 754531200 340216114 960113839 237515305 789238408 397343830 314658922 973972616 501384525 618266221 501941646 224650119 994790094 452418651 121217589 182073657 430031964 485708061 466696176 999711139 463901602 736306121 195450985 675718450 208444240 597942891 780660430 327748596 843004533 891566661 639106129 370852353 439040645 700239121 422364980 158349662 135824268 542205105 881408639 867477600 968507727 827498314 796689167 487612721 347377036 660959474 247860306 385392500 277490937 646260262 301745775 525418462 559132693 940402492 475403134 722369941 688624509 526936517 744876964 950817785 205994819 189374297 930085019 598847250 458870293 246889259 894863167 646963610 917850793 495144124 868077333 249799119 187840878 347491558 137464381 180077650 691982056 104262845 324573998 886555804 963365477 580144513 131012118 426421812 567405675 689945884 586116163 768935885 655061944 356521730 639408349 575710608 147878466 609402392 737107307 542320738 870948403 242822941 850740214 924927599 225007670 169671334 766608593 431148153 992154065 461931911 243052707 987573556 970608505 484478661 841304813 862856858 404747240 498493319 615892651 526450939 664069605 860502275 288989172 171164677 584207067 535701732 398068248 803568931 945254923 718245362 110701413 743328253 947816064 127303360 849466679 702014167 467189134 502404426 577988623 677366037 861576875 775389934 613384370 813422350 304973856 381396159 676007714 574357053 401660636 307125418 823371726 733706610 721503188 471480248 802873718 334928483 171030013 596869577 802396011 314979166 454535087 530707664 764539963 414038268 940976036 382270954 567331139 480445319 274633762 749292187 250522790 911751308 214059656 801543024 686471934 825269187 328894114 147862138 767418423 395579652 287703950 182067646 488487245 339084435 985683163 293313585 433500230 513057531 820042904 426666819 972455478 818515845 740552936 970033225 903755787 701811029 145596534 421551091 292116674 934577637 802245801 490055318 583484501 913907573 327153254 347719879 679953200 563504009 329827604 879461779 398591525 752782685 968876087 818064801 367932475 575292981 945738280 703112252 881446090 848114690 262087039 481662172 876292999 922045563 363543333 230288086 943471828 347917057 342526675 939825559 362121038 658964128 509953526 915824775 496314231 920744622 687382879 127936866 781777790 819611795 547931782 889357137 797213632 635494448 600960628 733194692 601696965 205837904 758189751 961199851 267355069 318076949 312781336 204155135 798604566 445692186 445360310 640519474 442876087 446856945 119185785 113807029 340674875 433667454 744898885 287085641 354776919 841250159 436841982 226109098 304569984 115877750 352486585 660115323 531485104 845054379 680303684 588661653 370597999 711681291 892444749 859453701 244112390 634918682 858287546 996013592 437096546 380697702 853700358 354203351 267942838 820904223 705819904 293949387 404762744 988245628 783113580 822518029 773910061 579999426 750905645 226562609 380522289 407798037 323098596 303099463 986472221 297186207 161908514 958908862 340445711 530902276 970583872 992782153 849228563 338342025 477704004 264324282 855982630 370988613 952873171 833184918 806202462 491868249 906805905 421446560 768765354 288021794 943052653 862699895 622426250 164270543 219227690 350081033 727824539 340899608 273796457 171138284 120830306 901183968 329633649 751860747 239355968 783062525 482209502 407868934 956926708 148240032 831962197 277754598 242809128 396850929 351970267 148017306 177035231 604861100 269858777 288920865 525408526 435577090 428849958 376423752 834246791 368379863 691733296 523576393 792054402 504680583 814929930 121747219 450466799 181512921 641828737 875859329 351937800 401456454 359911122 988169200 209193002 713858913 933515744 430853992 289493152 530507292 548225334 163803441 730616793 882584651 931330804 330356938 810592829 729578685 328304735 260454171 195428422 290398160 544490545 466534918 891273090 316594482 819805160 820935132 727772889 979781432 740691269 809928941 291124682 844656782 887080121 424785558 306645780 594179249 533657570 360082037 221606680 641923655 684145194 531671878 130670719 756507859 701243195 798789566 207911017 443387289 702678642 757811266 732013299 290004720 891577142 621906062 818257263 639935909 489338262 290501576 526489154 652004065 371913162 281603718 998220395 139655892 261829778 331310977 661296194 271400372 525913321 283672529 523606046 802435304 376875098 415606562 204566801 687027946 805930251 395773048 626674433 446655385 191671251 440528716 778825722 843171338 145946693 370089553 483316543 808912182 460576270 852554078 739488640 441480277 538228794 711579874 975571709 229466071 879574481 480578919 867635884 596818861 160146104 328552689 475903235 692454894 168018786 466169517 764478541 177171877 219191092 776610268 597091263 688241210 603189668 393811350 348671183 437377053 334748736 353589139 565749443 507370415 967797914 810931293 273358507 284920381 264804852 760898049 443974885 911954394 672512395 167976595 506550456 423340680 209895212 521360079 887029442 596612443 141735809 276800623 230693881 410233351 138960231 433325102 821926835 440216010 957482619 779011739 878247754 416952961 804386333 570519408 898823905 438060461 636762165 770484684 210128433 944713160 602389226 884557937 701337637 404918768 906199735 521030709 253636961 207922037 843043217 717263162 470241800 368447183 748949151 389637919 260183094 880950085 237586560 970000022 939961106 484707670 700172251 265836673 508236263 319384349 345175282 510051181 972485534 978476641 346158416 756906612 164245607 114979766 929930670 654263328 582740649 627562184 317032594 692190729 943958766 610753919 922903758 988700024 801676207 124721831 111546979 121271725 572187698 253997874 174459109 329186150 288063762 887377987 611508672 193045562 110560752 321481228 475821991 480044223 700485499 126536528 351701879 895301460 552090363 513175417 546459716 459708793 417619635 657781526 572489182 488994360 301696427 348855755 852899368 607280539 667484040 809765039 358557051 256121843 599296864 797922402 615264072 285093499 393744904 174927111 700373971 877394732 583648842 882991366 745197328 388235917 292066782 376902923 104567577 459860570 949300574 812886218 591937815 780925579 359558559 708259709 329845554 962544343 903323177 737899313 218736653 817399537 246045451 633223304 338135684 349306329 853746901 318819147 115616859 679240728 506585000 147729427 816291277 580471593 655631707 423792805 420744142 917546030 835769603 820919365 309988472 302455680 778516753 159868162 969783392 629902026 386111037 890688568 868499791 183794021 318523760 479928256 765658057 134439647 543039822 935883326 724648978 897986501 148229346 520631296 251110776 925711641 918326792 405010055 210854847 785541331 629205298 286534661 843709551 739462486 762953605 402075028 608082808 681734140 325242234 429603249 294785890 173705438 973959995 696544297 204972742 746019211 231107412 759061934 496048895 369537278 517473534 658069062 884541682 941481193 697491471 293086384 306807515 873171049 241600486 609808670 816788357 639943763 818579377 224621288 795842232 193929959 323915542 739901232 414599597 839384401 168227618 853808152 473468802 370620904 909530727 926807607 850745150 740278038 656664508 822181379 717972763 123102159 916024191 199328305 798167142 706622493 305018475 672343603 209564016 308918711 807507140 751762646 345806499 524152805 152076217 600907768 493783321 184982488 251339420 683534973 471577148 818439587 476303182 573029689 344593314 457317970 318883602 642094030 567968950 570325900 860026214 365016575 383489140 190655035 990106036 923161765 934142194 405968641 402617474 475150046 758610365 451927176 987360033 864398818 191733760 580277756 591227003 546313542 890643256 971423723 678299859 922418666 493470657 983257974 651206433 210349237 625395445 707398488 655441776 498232505 542053123 485812801 178680091 682187308 669385895 845456072 525530867 613677792 353800791 258345623 975504631 898547116 333915661 820841033 620159533 565784938 127163461 272160418 622955701 891369186 545578534 588448805 335838127 284431824 995302215 322379028 183703949 122453671 387390715 746104518 345708253 680094997 632691693 956110907 260432635 147808831 775163160 313320570 107721845 133403061 987028804 721185963 394855576 201322005 775136777 546419352 672694787 301057034 127533082 657690861 944549573 796535144 848253909 640702301 735664494 655929982 524892836 404558577 561916215 308640793 645627468 239888149 272786616 197218190 245723337 139566564 528289106 240441236 875847778 159930683 269925849 763636616 198357325 182730793 953783692 883233872 688459709 683726254 374329479 602852312 509247547 393095844 964329073 435377638 938818296 458303319 396450610 184881651 459990484 506760954 546844057 642485678 762032765 894818724 346535401 540939916 776748996 746436721 205672969 327103808 342485695 542765775 509580092 676255600 724115202 339358257 928983714 377256962 472466725 128403500 584137081 469414867 542109730 533172655 461482244 345744476 438502740 991904289 879236630 432682891 512960875 469844769 684900458 842064331 258249860 469038003 587815054 629621700 138800168 290010957 188339287 533967662 149589973 732540031 144311710 432560456 294231534 437386433 539119041 690823316 912157784 545161741 468702799 107275435 198334882 639030843 374291521 873028687 637498712 624901604 909417119 396322028 587204941 459128996 880781981 905549668 985711364 653691588 630839414 225074629 496716835 664950806 650566387 140507579 857649701 461203180 425173025 991556806 568661964 387631544 100329564 179514444 480058405 716250215 443269557 134171254 626199376 883009361 115023143 304344845 317015186 519647212 414525861 565199503 672609942 392160675 872770762 447686123 150066653 281177099 743477354 851415800 525738233 815133927 856604689 235024460 653151941 619040285 603909106 326553792 483251667 548298279 457831413 990582223 595262034 955576101 106900589 853446588 258344559 624221204 376383437 114447733 623915539 966512238 791166742 243320027 689523825 198832111 276135915 227221565 790971056 108353785 920641916 714625527 709925588 654255950 189000063 987840599 592308874 693333276 921755730 891282934 815155326 841816194 268589180 205618594 371932637 688573028 797997313 883338687 419174567 571629488 635517085 463853980 943273268 519584257 929224957 163473072 456665111 100024049 572430593 872967084 672387366 942266522 200384964 695037695 716954082 220056420 378970935 882484312 398063559 640225141 332892454 723676533 811700636 730419134 703445650 871732856 558144170 310134907 785270610 822138625 722269036 472788852 874081635 248690358 515548751 453141319 818333331 810151263 559157734 578137689 329586569 197233851 519358841 296191014 224335552 629667159 850038646 207363743 621212904 486507536 441423722 142032398 802202936 699543430 797693972 322090492 677842915 613576214 658017066 520293132 928640813 286340120 877431510 671439938 373660249 270099077 146374780 663223327 686832248 729147044 862561028 125092711 476085749 968811303 141261490 263029867 348312979 339202818 994109068 197883821 856603784 729965688 789620329 603169761 914356107 642205846 702283037 265170397 789253126 546666426 391514274 751505263 558619041 913783847 233468591 726142275 138213900 708146559 424935874 468674197 995039213 702000724 918134375 805548401 878891723 666316267 654582006 778014514 113656290 556876579 610275649 510720807 804007714 409186024 346353975 905461756 927752017 907197110 412005805 207005743 927319885 555286466 417680810 340010075 395742955 640588023 631258967 627535023 471641478 313260916 413174084 996035729 236978961 846257961 269456804 794010526 628789750 688024127 303138195 916815932 753630361 903882162 275491704 638301514 510882583 350498777 327494691 456395328 187532651 705794072 819784855 187731657 840759010 162094176 449971136 267111316 607072745 288368875 557523187 928237841 653313586 370102753 305677167 585273071 742615374 798503315 593746329 873730307 386919517 597807558 558348398 664481840 328601213 910456837 337062314 899273855 249406291 605519491 195469899 254945774 292248214 713775311 317511739 282720329 582800948 423020420 811963164 945181980 939200485 811002411 533471047 856603443 624218166 825855619 117260372 827373362 240799819 678141594 217065057 236204665 669765714 461333789 884396890 531821522 833644654 163481655 530973444 625207233 492597116 226846933 134237977 914216907 830928424 901188812 240734858 784296218 543965647 867785544 203838440 591145162 963101312 318598358 744510904 208213524 780247449 851719116 923549499 173901347 337065755 135175014 247053011 313025953 277838144 422271651 815241120 642473005 826410701 940660475 657357250 580917044 977965526 388957867 852654248 650152335 748645730 541836403 308915884 783343481 773821326 804136715 623692918 886588568 259847550 260316636 891389895 637222304 954513430 287500052 325677336 845227490 909151008 138798686 863695932 345912181 905099621 126045739 340733673 758250226 376518409 188388490 957733801 597285167 129754656 967413142 543897519 920798288 598235845 686855918 930681685 491354908 630858321 509140368 478108962 222429518 561252909 732893765 219077527 772988551 952520499 278291400 257117662 159765532 608852848 511182717 524617360 647649940 758306888 590661351 324716901 133636287 986486231 807084074 613361741 862114454 454689732 994577166 577667585 799944201 458188895 518773777 823401538 506869169 623652457 287676265 624422678 759101514 713454921 182010769 433780012 617654393 239064741 360150839 655792067 648059044 455172594 219620501 758501469 808179308 973848907 749010094 986838410 185698763 303520198 787969917 521654286 263840356 723607472 546611218 740584010 362128807 608053601 849147625 901062734 262755349 292836506 739292638 980569688 648011924 809395076 242218416 250851612 118962872 702122919 912703572 171630193 255276042 868744616 283146434 114199619 669432347 403338719 742580174 499788622 152135759 204389595 404640127 334863611 346707565 584958663 127110983 107803892 861662834 681207983 163279726 289263970 808950881 860050787 149274179 601378856 360230250 347019159 173606129 967617668 649607274 434746489 265677933 292556455 597136606 293697294 537142977 601825257 845789902 695949008 689751270 370290543 610692589 523515827 362184988 634595489 705257623 455023086 339351143 285421501 532006984 412722318 958947002 726088742 483707062 816149886 678382539 302413130 794050248 116014110 167978161 582569594 189764694 845769495 525618429 315296787 806598809 792125132 736128212 501149908 291609186 416201057 249657975 428926927 603181424 833164782 212441698 785941208 303450863 784116855 109458335 425102230 929493619 952217579 193492106 939314242 492120007 610010661 839175589 824296492 354454163 154805801 124681120 178702214 367286771 617364767 773082161 426697728 966147306 460889562 443499023 320173883 943712790 577829961 747047020 750011303 435493372 789388344 526381314 316298682 503656762 831637162 697814358 988514425 854459588 341575237 749995201 802993942 131632896 813531647 445414191 225056487 823068215 243531163 135446745 934544698 903801736 370762208 270324098 478462816 544818128 705610836 708805710 782565714 869888488 392218731 174922487 866129798 244257483 176162070 698091512 763645937 941584561 223828216 377660979 931417683 155809305 887085143 501840839 284398188 964708491 380594204 580693731 200736197 782194978 286271570 956766113 851267747 601402070 327258307 814401680 675083769 649415540 333408348 828778811 428495375 445980465 615782237 362042390 433378598 767382806 400550722 956322137 361220650 517290141 253163803 717786793 560684291 645490860 175560264 781644255 649166628 926955061 184897532 274915782 858709001 739823880 830668408 158300893 167267345 707774337 951525406 182367242 596947740 993357101 600903253 831537787 353603372 321388620 191844080 746470694 691649042 545220117 462835211 221172736 341602330 278270707 824146455 886744462 867234717 298098438 432866343 251577196 560854080 696667554 776641624 262881658 921613022 613706698 876944015 411458757 672452006 996651568 533855108 321602433 266236311 663016086 544565441 800110690 173402441 701918722 633321553 600057716 956231182 805475879 725688861 637769794 212052672 805788349 301537189 975073006 420665680 107987788 740862359 522693356 990389441 738209921 857115765 821228644 360808493 375018985 860386934 510362890 705727550 787576647 548637732 702797858 917327972 356719692 469426713 666259373 665001149 653364686 993596208 915188913 358317445 682925410 640113046 219336032 551663664 827434747 460361668 179733614 769988552 323281879 550186908 958204973 958260905 831644009 625343508 806066983 552540648 999861631 714530094 839094003 865077366 718666979 959867909 282746275 860319429 816965570 903865067 159234764 233783792 891292803 719029998 276560503 276518467 123731435 678935597 811512797 893632014 164296128 462856288 179036708 130192854 965102377 314198160 736999574 217985603 956822449 858152772 113976586 513397933 771036600 590865870 548845373 359303917 452382806 878421471 624748305 385553984 209332293 888667271 469333761 601254096 562492325 379923575 146725706 100673557 646244667 443441326 987380463 818200274 287332455 608501772 416728348 219316686 509624201 176247292 696075185 923907266 659449070 985814505 785894963 581289047 972986144 521674863 252706083 190190947 825406522 684660029 677329470 824487819 596204744 387998677 720714982 667508130 238689339 531096998 770821127 171431101 964350112 207662091 364862414 427897704 185875771 834553413 278818652 254349410 156054699 958252006 800991137 672403327 713838397 121713640 395655147 767900635 651306017 440090363 673722871 348813125 553684760 758920301 593443353 865386849 270318153 161089470 590387518 109492830 542188663 464979716 599342805 134819338 380742096 182744793 762586863 274230463 929391500 961867677 320307563 816264761 454530960 556079150 378265287 639037454 223478788 351605992 107376704 727707551 648772075 730583517 297044018 860091608 653591354 236315791 603806523 346390116 995909543 488652012 177097042 484943136 925592658 374945793 630479252 877520286 532402269 955105671 359553337 957359779 660414098 273300769 954833201 336539726 841901889 723112973 952874063 358548422 432639120 596239973 950385422 572447078 895498649 273365617 140112887 795027540 507433987 594586767 622106638 428944128 241535531 747321605 289768908 231089406 338153691 209130127 687144226 197364364 463771213 140283985 765366393 256999119 482297626 406830461 780195067 869221213 890105753 143129217 654660412 506193945 284669407 596683846 300664792 334270754 712391198 807316361 976095451 572618261 431912382 246508578 555190347 334680722 330463475 506980645 403574321 582866957 461301634 186091608 339905162 407582349 284193228 780008918 782180302 449191346 749020055 558015133 800576334 767728911 604445106 360781769 463997905 909138374 767733378 323489011 273251522 961667150 995446252 413167913 848641981 164303577 878127684 908713869 949358787 135152087 415751792 205548799 555684341 197235917 492472133 661449274 520070643 351868141 705410094 430179157 409058649 765123946 774267223 775770629 184640991 204970851 468411527 579290905 991832584 811119002 252152543 668629357 801309324 402717092 397171872 646164858 835271472 215663408 142679992 634811461 798177802 594090746 149668865 189422827 952588361 987691448 931786922 221036951 789914054 745860527 218410449 687399808 848487172 798566996 340641745 254037648 736980148 450972000 302048272 877733160 786188457 926849951 857095321 950358069 473890864 789049671 687625409 368095443 814838098 366411074 557961739 271488116 964812455 376549172 691724142 705643075 981672462 747381036 884433536 396386596 891815732 684795557 889459327 262590087 662684460 111983621 127298417 426356039 233700662 288683339 399464110 621926351 962985335 150879791 642177839 922622789 339825701 894660154 795500231 742344892 213816662 971265212 141238692 334544124 390186649 648897248 290430647 909382534 244150331 916188654 718728764 817172375 469262614 392021866 463313639 951711550 116546314 981951451 828492309 892411756 441166677 462140442 485195127 970828301 523812297 757738698 644683043 152381200 132662296 310526801 823420212 557440619 491244865 877303720 592353724 280918908 262989699 534880289 718500473 475517933 390702098 344562617 332443674 547650564 190001111 770046075 959977941 423370836 499453719 832437457 942432393 232814042 584162184 370617191 536593005 714209423 970821674 968156713 989014142 386376836 771900926 782948553 117742818 730214734 797075016 354174852 923403218 521202760 858857933 671802015 167804060 125900232 117075942 333435346 325139469 884846903 298058730 129266670 882226392 782514344 432162512 746093518 123578704 928231995 133987409 116756922 693744752 130581089 449738117 486817547 904509108 444378510 472388677 862549405 855137241 804113657 711273542 333844517 832380355 918782216 257676484 197604551 101188343 655619575 582450106 117078991 821952648 797651518 812459644 111478181 882888507 513462832 504912046 883536207 242402783 905193731 970862442 451878959 795379718 488813530 672817153 341035624 387222066 563824439 507945715 507736535 132967203 398580217 768899968 395064105 942190712 214318564 673798553 274100633 128884585 371920591 875464991 460385842 761378390 632416665 573864198 409742201 829731755 929333687 861429506 306708613 662122142 700966216 873924976 955131726 939565297 106889923 140997181 451083807 837519232 421778030 428170668 403059535 338393290 339084048 347299941 989122723 533584979 940440247 373796088 343408465 931233337 669691369 668639856 817663479 243869860 805931554 263764721 842667542 604146125 833205514 871541292 852793697 663957979 872124622 985113840 122613767 534362680 869348661 142420715 714990549 878844103 646998068 242923964 159215221 587979779 969273871 598871945 309665788 647743043 377620169 762864562 952386480 118791585 347116573 661995893 872177699 256851402 565276820 646918049 390105617 596671869 590847211 555887907 809904047 811426552 696285135 622949872 141045263 761975870 231780704 354006658 650572730 756154803 413178147 685352815 888013846 715824726 372145029 238287757 786250167 365326804 277354132 211813354 690838719 804281739 997843941 886220613 106215642 419011372 535809741 741694141 676016113 826164305 549996878 760813531 635186550 461701318 845373290 685855395 499020723 122473362 317791613 427251099 610079657 827524879 954946500 333128035 125169760 786002415 464339137 450068191 350233120 352080448 591350072 704034579 367479246 934081914 305303994 829291438 928185621 404589091 719046815 771371469 221216720 639628032 139080153 765704579 214588298 993849621 829996134 595028280 350265692 385117230 542427186 706000784 586171216 963029531 898335241 412933255 468137321 322955958 154918254 913787025 425295580 682872872 503192515 863219695 288471249 493824482 150800396 708618115 209352639 557022544 421621209 732207439 945975379 134513082 246576859 837299563 176754269 595757520 606082790 218341145 783702559 874724161 926234455 925872134 249070386 604149309 606527559 502396631 170983483 997950477 503986677 569007394 472751379 945412259 193586510 684781325 102746309 863946844 398867315 155026950 299348282 491901935 569842855 885444343 823962565 910023924 216186527 194388290 319044175 233830710 102534477 736001280 991013731 457120430 490347812 993242948 738546337 963382582 904191186 675191130 581397979 250602840 323727638 776540409 606507830 828233827 799940142 822958793 371680648 660169532 507737452 312444452 968288343 116852646 868924209 192805842 730963637 373968074 216578514 312520869 623331504 500383914 345340880 733527360 954183257 487896297 813987654 805627984 344881421 731043948 856974642 613857377 323222310 199295838 187801078 453911518 810456891 456611504 349832813 430725963 432965838 672369467 527043027 204782585 449823938 870543493 936468620 802644492 694147819 937458131 684606431 728619183 461540131 792304144 850350614 161550933 100616901 667215833 862497272 937604728 825291578 417416566 407386032 762691172 399334023 467014393 881981199 385843159 817757903 415425235 998842913 108115015 903235816 316326039 309109527 879060062 446029326 779323159 274516028 848307898 445463853 614394619 580686356 886019616 407136884 523139085 532217402 972984453 613192283 195981709 705682891 175937696 653871354 989020590 941568844 669560028 158251858 337502996 767434125 682606468 235639140 163739265 950120531 871594301 971030785 745429966 949672877 965353531 194136664 562955716 230572564 951662558 342990923 232845535 604093213 804958639 770138175 507142461 456559476 708812027 786105182 618201927 394320920 741182063 197303742 502700927 905776140 832654911 319528540 573691536 586787318 469170532 402548862 918510844 967024142 821043047 180019620 138905520 796041837 262458725 142707475 469546841 442115010 961793757 177039075 885682013 319722120 485353016 245832377 764051517 890315121 250704980 142330074 596182368 663704639 193337942 272592424 674746956 544053175 995388384 776033774 759580328 732467382 269543377 940121262 485092360 810823315 723401620 306516249 616928085 797154364 278159713 867214594 230880178 343363676 387999415 127177996 730313049 770630244 809482491 138518479 725640904 162442951 653032203 629001873 428833050 197054169 198022160 234738393 409598171 789198645 598528457 803800028 122872933 756222789 173412698 400988327 568481273 694522277 410668210 766663045 663071758 396192985 302823776 293885689 145392457 877212928 579954223 902840165 837419818 973776183 189338134 633867485 191176651 858091950 947704146 705406445 382669370 696489226 324335312 443811376 441844132 539129575 546103038 178300584 634221827 406816541 678224323 748663857 342881361 720535190 537659309 236209715 399415152 786122760 596965887 679607365 388188046 449676114 630479794 409212486 753083751 742277831 659589019 874235333 598391687 358345176 480489659 102684497 814424830 342509447 763837794 103402433 717213426 277312593 363292720 276884928 802796317 409003246 219867749 929415797 757193705 105793362 945781012 973997394 848901272 891792348 839330647 141250281 745543711 542641833 935505909 987113206 537804834 756714452 921100417 176767568 731267747 160379077 215133748 159117325 300849719 475858290 170579893 688913618 857880422 610069709 183291794 300915236 109177784 298090430 985185105 171078530 213917123 340753923 804965141 284000040 876040065 652636361 213154710 118097443 379179900 467493128 992633693 332763450 127105161 416100899 714872702 485405455 908387218 756365801 755203027 584137172 607443950 795785130 890968963 836786546 424049632 467505489 464113646 438666322 230397619 667095338 324105230 799216019 678469311 471114011 444866602 231398145 186775466 364065874 453621983 474004929 464695145 430191688 638211495 900811155 750765795 883954082 611302819 310745498 370234809 752806773 762674856 979617916 510944838 936427550 243334942 506164290 112966904 743567354 356800830 797078660 978690897 216853270 510999835 773818081 730546040 301010753 219684866 344953858 864980962 119460210 366977326 960655902 171661704 222503697 470712217 791151839 435692844 890043167 834522336 228165658 640008166 748331955 471995576 182552041 888540171 562795256 331496851 651397807 973630014 490836978 602548518 710501087 826883710 160535028 630828310 758966595 288191028 241740073 731197268 938144827 983118277 790716057 861304231 894907199 531153153 414625253 186606635 362466838 866618549 176904938 104740513 891695606 491138111 606115018 314805421 177855298 376033841 435507557 445284874 119762511 973225916 570207115 113258193 492924057 273889782 133044687 366859979 227434161 672773368 261121391 219946581 620025361 626389338 894299730 294032910 486742322 938725374 717315038 802637657 984119899 457945383 622827901 504844874 484847706 827880691 851776005 519724345 321262238 951676808 141656831 546942454 608938640 436655482 174766181 112054112 711044503 930185533 662963106 882135611 569409428 932231664 958582532 947186935 130732158 164236354 167489809 756498383 717820583 699058796 250082424 782731294 719848555 341611534 402362697 175072219 645378416 665657345 793944892 957656664 814901058 131839883 416906665 890299314 440944689 653681318 759693645 197258975 705953427 622465290 593213678 192917266 714571555 872302404 570709950 712060645 343383120 565154599 175516807 230410910 586052745 884748079 596009240 796702442 893655784 416426487 633366686 619144628 712987926 442990909 532579068 719345709 722878239 527026125 208552416 373424488 182487460 803703771 574308669 937067622 296369583 756984673 901476195 231875710 442018095 685245697 356371624 214516370 974868425 169018212 615347024 938665022 998898899 280594945 867560201 455374536 774981281 535963931 527000055 451268411 369207102 615419379 903964205 181734519 578951005 133237145 867351041 143427456 946059891 497788308 954358859 713042469 113523843 913424152 820403703 596349276 517410162 650051673 650415665 742639093 485748492 776280544 485215569 745624428 715289076 171014729 503667188 905617355 543490048 486137380 401819627 219646430 545184869 201180971 679692555 492454559 309899184 422865064 352467344 637942687 854382919 740671337 809877590 150465063 551688099 928712665 372408260 822799261 476112741 802630436 772754194 985645444 183634665 884245280 627191994 945537692 609728446 682051015 153015491 508205525 333156278 662301426 723360158 692735150 135962715 927455830 842308967 405541270 685460184 479496469 381041291 170104706 842329039 549902230 477937321 605923334 503409031 300230367 723626859 781188891 992636454 896483035 731285978 289715388 476689730 402256046 181543124 540691461 376710779 879673326 952100324 497877274 558270170 199908955 103856246 876898518 211016587 650815484 575803149 438857882 277755541 473257346 685839026 421606920 619085976 952728710 734944227 946986660 561666152 225440929 322914161 352892031 129175652 341869442 514779112 163676650 711411833 437191557 241741796 644996317 930878330 500801136 266250534 822887482 149734585 612076979 107697737 803768083 732361553 350006117 978009184 143460538 102263551 889858096 763717110 776900703 714172064 438987932 322227125 407219185 682170475 670968397 760114897 123170797 628312369 167682076 335606430 475923793 722681683 864087077 170469375 329942907 625330866 561040229 396401486 987213800 636980046 694631406 735327278 116597563 947717372 151458164 175535094 360295873 535781583 473364533 462644079 374368529 913710136 705287099 413763960 288263915 251019829 218087919 844592037 516444909 546905170 637728434 704875038 633736538 339393990 984465171 296465555 277788650 564228652 267854066 567790828 864120430 110151170 202077807 279372198 163758733 336054895 239445903 250534250 285636494 436918476 562930633 339127025 647556623 704065225 610926402 437563744 288966253 810244041 557692388 277017927 966260781 686300265 867238172 950347583 820111119 406165154 194678974 906093565 405803640 705554467 730955175 192540051 401233920 633043642 849569715 704711928 624254596 210100822 295215273 423061005 831708200 971744592 317439547 782839800 590243657 258517601 647692073 764250111 855506993 356005901 114549263 417110813 966107896 428598044 191473676 250062926 539750995 396751924 262794391 584004446 422588701 271061552 971646364 429257091 522739485 628974296 120976986 881824012 620243040 687496536 431580779 168126076 346382192 386612139 515383373 353093037 387635419 680551064 289643546 449776653 835661966 582797287 118583567 511988317 502534922 619945783 421018918 589039193 672198892 109016146 689999295 335724243 284895226 888194239 141698133 663093684 484157137 289788442 674406919 349653051 530106912 397509840 838189088 101183538 452845738 560969633 358547609 336413127 999984956 198213722 290725084 657382702 394908629 616519684 298112741 242193749 682703895 567268756 561542835 825091541 387182372 458140544 846398326 474438377 786040846 347608470 700592289 528118155 297046529 257899801 580496300 542444126 561819066 559981022 140176406 941306307 395283648 226679149 672716647 839996049 464793538 424128427 548924830 670040351 568684865 955925792 546922641 511267810 680326272 976994789 716760242 233468935 554729683 454217137 334700290 210628070 135237786 135852726 333950453 259077891 337186662 124029851 846107129 759223826 440499496 167597279 257050304 481547569 436286414 274710676 715188379 278379529 467987710 292869735 730673991 653120799 423862005 696460358 246872931 177879332 224435343 885112972 970588578 414934455 311668147 192331672 897396098 900072951 725528299 277064195 705586698 926968887 689438990 870089165 430963305 419627365 118533872 297035888 396127162 391651706 769204090 248093276 998365044 456759406 243365739 308531246 539966544 929234733 423446731 270876055 326908515 147298341 690688724 135855115 942436750 639675823 800833194 278200941 367626221 662203826 530489338 438008973 964346126 548535701 709529683 682840603 158149588 922211139 866262017 651281729 207207011 119814534 320614570 186969743 543011103 784449344 881857630 322813122 771474775 578505311 312391916 107200212 317440564 144991027 844397493 203545773 271739557 579346695 303440847 550454314 851921328 281186894 221015180 547746047 581785600 885032653 833135388 852966173 403583891 664601975 939457096 915760064 769875207 660514667 664955664 748712158 264237440 887667212 906057939 884967114 690560122 260703775 356785582 488755288 452696110 448426536 117456795 489557800 392928492 468829842 115903415 664008535 307435837 784741082 778322786 648033930 817924933 235001626 880304847 940681329 181003285 662651092 342472863 953358832 605815251 807426567 140611595 118473817 562365884 822169080 547388179 835708437 300661115 993390751 614913019 714403797 162805207 533130708 451025583 105380607 663780633 157306203 959316621 684808027 732098947 175867398 313012608 810616958 696534264 898630041 926660668 139123976 274774464 941867001 914750622 626812363 977001617 555377804 426140143 695555735 369754804 796926740 973334410 863396064 305551072 174500748 312500420 167907970 695455634 496006849 616648518 904078449 404434248 370367466 379160635 888746712 577049722 579846004 363801554 681872984 608491886 368150966 827879724 886088879 589678212 758193474 141638526 100757234 427105749 820688171 418375666 121434370 792439615 229024219 556822409 341759082 991375272 643384491 883131867 937087283 550619408 624973620 942258208 819965651 346971600 384347306 107115158 492462993 836815547 425987879 302588735 890760495 541328361 889446575 533955734 177815801 282894138 254141432 723422741 155153635 533945621 105897128 534645508 151756244 396116970 159924908 234100409 693387885 319176958 487092727 505886313 972286971 632852636 941313573 303405626 185271553 551549193 750827325 431667263 378151358 883878904 932615366 194029826 621384362 459698991 406804484 965209306 912122733 577730470 555506434 733441968 321467115 426454431 128688439 869916462 605322227 916763293 847974725 903584291 138728506 589935031 357703570 334586085 407114953 143005840 195677143 233061153 568335840 952150423 491171181 170817611 100396376 179336061 856239904 226215248 494576855 359365238 433760893 360676415 255697094 892953753 348080289 973223033 746865927 858463540 853245389 505246445 405060170 751302279 395560375 266264506 675497662 912553248 217288596 443498437 850282578 194047660 207676675 205057775 539497489 638213100 408964259 154655081 472623988 822212578 292466426 139599384 859867997 290306560 653288788 492900215 549999147 640971627 555340780 873135285 491244174 179551072 304426687 276897741 764992680 475534326 425688673 863709880 817961069 513188717 681606281 193813860 135335234 826458826 779366219 130273895 810393185 822890623 337252573 784921084 375792234 785734424 105766488 678635325 542940682 787816473 493324382 787603165 841323389 203282636 629158338 135980855 805791045 175874083 494914708 477477766 183160849 881722434 763024703 645638921 848807255 694278753 262413069 711544743 899351199 384520423 667032654 572373127 750245408 924607433 963048706 184256579 323608645 139102257 696256774 874583977 590305804 630117110 332714260 298943402 827412523 183714023 599944534 614342253 323778699 612677643 832357837 692855217 782848765 176418227 965104687 695857358 980136109 500853176 744806387 217150697 176109892 123122347 407772770 616346387 881445856 684965674 432308184 454940675 459952998 362805990 320609362 916453921 255539140 415198564 190360055 186924353 799585127 126887720 510374940 789850474 875563011 135691052 180267761 483519399 852004172 443560808 892205674 708791806 930568293 609408023 922601643 942218993 365451546 552752254 980492740 703279461 923285277 638333872 345342242 697968823 192274432 461536203 769245048 107920740 522999921 872313337 884247190 271794035 492381477 595518630 800838646 699379784 203055104 452319210 972949053 829660433 547654630 571772793 564825015 507640071 263348436 174436415 248134010 139685282 784559768 165985950 800709550 583447562 864651532 844402820 919154840 968660063 599528514 675192232 713232887 574321568 303783734 991897284 964780862 222246314 138134316 893087593 140783428 380189933 771967584 681087723 810422858 983058562 153180821 437662055 487053118 541063086 340147740 508439407 105242075 320295470 732737389 809640742 446626289 371939972 687279196 271392494 308467855 474778664 919831087 339088819 594303443 438502692 424938364 394047882 275716152 762148150 585215870 755511562 535121837 722110211 796378913 985261703 787351539 936224839 774147188 524532250 250272514 369182738 952654568 246210003 305988013 514777536 408563142 431845550 501228811 944017119 317491062 394482042 726172425 998868630 825821398 397718714 700365195 841809158 102908175 994499861 170494524 303308999 722717137 117254224 164538710 888621181 212619337 912852202 997301548 790114794 102231966 126264283 722682060 688568701 654245351 951631572 159711596 174625559 455639737 468843497 327208208 517899606 820354555 142962007 494622441 318030698 468124631 992401054 446654927 579598649 928919808 818846736 728982614 269307033 211936297 479689353 489519571 534536002 471638163 867941142 851153760 109373548 204024268 353583735 168166189 500760450 780684049 808327960 346166218 973806977 713876433 282822329 912188825 696622233 758833626 990178297 765260175 757278830 781360189 237536819 710543574 831193441 227677826 161106048 388081132 302646108 552522231 722577872 365045720 706601942 520676899 844829323 153448288 347410132 797397212 320566006 442054386 349320361 950493735 592336020 576408840 563049664 416013090 904525682 753688713 129866465 952267314 132782015 283106530 745371888 700816656 427562324 994833965 610841807 905520610 170499167 340333677 382723549 911208409 199972432 941967599 459979130 484368562 268716200 203041659 469068663 334069735 966351272 892514624 742989291 677447362 508498986 325225454 713013430 976132560 278017583 858981211 582978847 232767126 862920281 746343569 125530776 961947473 657019145 742086434 229068779 333553311 922360137 437748068 270316423 906984181 494333837 435202943 725093010 908804179 838433416 680996954 436544059 274455209 873048440 441940940 719804578 747677177 561936446 723043012 858861078 659397170 588223020 324296459 446475527 592903946 827283165 760290457 462046102 751072305 431814090 423429515 929365161 749683641 860724162 865967849 185116100 687877563 629811931 313797553 139660112 850796145 538408222 895055456 858042485 945032266 106101038 877555237 504857842 838023909 757307400 940682821 722949660 676042720 966533835 828824539 270934788 801771687 959382241 409805916 611836699 304900150 362124732 695524897 193253268 680913429 863477518 630340473 758800050 396345088 605504953 782741667 494583950 375824622 427517116 158287100 707822963 787580980 328261531 708734367 255008382 982631881 571383297 222359865 562056569 247983615 501671778 959283431 438894924 229412012 256826996 491930787 860527322 476400892 947293280 962313220 168113082 632931308 282568354 461388125 848997918 350361069 289712667 543183877 565631388 719006008 614617744 766036570 606955427 996450297 467498431 535103420 458804006 793675881 608918073 859168234 236989189 667882671 377070051 825255544 592435862 302413428 787237285 704591159 662608354 179972181 200130917 463699809 743531648 133360839 241730537 721455634 569477966 678162308 385769643 911432697 574776061 228361143 879976470 378880217 286478013 712684319 699948642 776421077 521206190 715513166 912029541 924834954 862942336 951483853 520518123 466279865 105803281 565942650 131393841 469524914 110464267 148824971 462079984 578387862 435736195 170200380 535230223 609455055 333206347 993478923 686762953 353979495 127733186 274630965 400401137 532146096 775466016 845842218 902377044 371218543 423598638 987672865 148266532 617008315 222822890 376900637 290390462 805970258 863766214 300185085 287249368 557416381 241959401 290664702 423588682 713766748 570555642 991256730 443819181 491474574 235615140 676121817 222337685 715839249 457827164 848424619 109450407 421149075 814588323 514244618 765297651 537706882 442915677 135062659 998656893 761612895 756865339 498166992 418257799 115293134 550165008 821157976 991368838 221337188 543592312 669037824 830410388 495925254 184853205 693360975 430726851 309829567 739547311 299441956 792934406 603622370 872865576 615778374 153489003 320050057 190673306 158629448 263662680 591820550 304339915 890247628 905440897 961925106 505326936 332197794 777739536 482232772 311897041 975019196 210874300 919126400 427059573 293138877 215945136 320381283 803728953 775682039 401428137 302780355 367764446 457037942 527009489 267279031 544750057 121539005 374505062 831036402 794079741 108764434 930448267 686791338 112496907 755738868 247398798 707135207 322163717 119635032 923983657 177724008 487000124 559836950 639372245 209978387 766912856 410801824 113774205 741368870 619820736 691712712 903143659 301239657 445728680 637610006 951327263 696090424 690376700 290566490 185093655 349301249 285459795 844775008 347923259 355629216 795567295 445676939 795648815 630385202 831720722 850966842 623737371 756339536 195802596 563336222 605897896 280375778 120937209 371564190 942329535 833359526 314321219 299928170 875689814 557730040 508005999 399240153 672240820 393002682 627220517 415293028 744240576 861447968 137959766 827325278 466179918 813466462 933350118 684175173 660679781 568483660 993461327 284734344 185964166 349386994 233328888 576459783 586766421 973628100 418960948 992117175 813121831 404409732 470404701 511842370 994372048 190009764 972070146 168306636 943229645 372896338 713148455 594532383 462673671 985655332 641212881 258219709 329227404 393803238 171206137 750833264 602505358 297058263 292882858 313186119 186854303 319852992 129804468 351317536 663741249 256415787 672342796 244560762 294929755 378638847 890314512 816677298 750304942 803096169 693553111 373053539 934590484 132713264 485281714 106667008 277721408 971661356 987354508 865118170 955217032 626513906 329891676 489971727 297378629 323221400 500010658 469593908 645763687 641505139 571777755 457386879 290142007 923991022 283361497 448264564 129338933 510679667 197998176 711666211 694830001 542131205 387721097 851467598 510636121 324113690 837836859 704266080 175064381 509906503 812998441 319597735 621448355 353889707 789233625 210402213 134749539 759504481 641662756 695907926 318448714 281000460 837012631 605336155 418367700 532972671 967522891 946056668 924024321 991463138 639894128 201487284 316382430 139640426 422708494 475885432 334265809 675931080 989283042 110157972 368975987 741932336 269328259 578851560 318228332 180727012 593756296 537301322 328647128 887430342 498725708 604706137 859109577 396768868 499785996 757481743 692792199 753842350 371812389 760406612 599311192 799477275 263883232 608785419 232204150 228064798 656064533 900028974 533372398 187785714 937674589 855862772 320144293 619225060 397822669 316847955 393920510 411326571 746771254 595680234 750215334 402354378 789310417 957641216 928274344 842776937 700183520 387289359 923784364 879302065 928024026 991745933 670189536 495283899 399218424 509660575 459352134 427730241 388928143 124323259 339062329 408348256 676278578 483423687 384990225 199242295 541811092 946724146 655722581 456942403 342370270 301793958 348434408 237977839 427246190 704980787 678149077 350411878 154878785 642159093 269712389 499655616 325269660 484367150 516137225 865089815 852475726 265522972 742466119 508603465 795541061 120423339 706696332 731231516 557448317 351741962 427254165 126665642 657500030 445710085 719022045 943687857 911466257 949365484 948530825 946767320 790487844 817934296 695381475 900048230 765587657 257937095 501347399 343740179 575751132 361497805 921670184 441530166 895647938 725253819 350012539 647239538 646400700 207423211 404608055 359358460 631458244 145719183 794057081 557068167 526631719 193822895 707348045 444421821 875119612 982765546 829682508 760522738 625729861 432023392 600306548 171533009 235983193 177930765 263664899 369755238 496132324 880784627 796941535 144207752 621008257 236480790 681849344 491292233 536670192 149218335 248242038 383378163 693377917 232991333 130940434 277226086 371816966 992932252 335852921 911890382 882791930 984716681 336625510 921572811 216087258 601495857 660339747 753359052 350779486 995715336 713882270 995402513 269481161 718968418 358204039 323738566 417936004 375656813 982945745 641974544 293784247 564086800 770642865 791777082 807911853 891300582 925452871 956327475 623073706 522553793 367449565 748873850 411792454 516621718 362741351 962370802 476370565 962522055 547336944 748958849 798405522 757050077 815834158 876648622 914198578 338958175 205016226 544077310 629359625 571401813 917996257 894608043 578317959 415395108 582582406 286524825 386541835 835759317 131806652 588792470 432334105 994969199 344763330 411204226 709084593 800409394 954352789 256094593 491673504 791439002 681156380 318828655 792728368 632199532 105928024 828248488 809905830 752473774 961923056 704153905 184014270 734132613 954495308 697022920 387385684 826284109 436114906 554403655 191787019 395069122 483065537 153169716 725710721 203986034 159089321 241436088 597244978 406911744 187952726 681771051 396823609 286553136 564609623 763936983 236814430 751554153 137918688 321813112 331970222 149890276 206814866 274832567 415278161 132907733 373405965 592385539 636105249 811839013 414873039 228397526 333750844 196899123 967053514 841859293 879598675 206845392 902026249 843945991 636849710 266049237 821795219 504445610 120728847 451619986 775072409 275259089 688090288 855066185 744934227 960589707 545472664 846579938 408024221 287597551 547686889 841357984 797977814 133506648 910597680 901086228 128644982 336513072 510058992 264307859 292699918 604838966 264400907 225686511 241467272 358937078 502963401 119907140 266190306 490705780 598402175 995023250 483134913 414807797 468600887 253482737 414895664 541574271 787128115 243778488 786711252 245899792 471955309 492399572 719962702 628323965 501779348 776196931 488222940 962065576 831399994 972405275 286527902 825130399 940411796 267061057 901950212 689068139 460722184 592210101 653646463 321702013 750986009 326074410 379890446 411288083 230896604 688950157 258401311 766246923 553017872 929183867 758643822 406154908 955175484 635854135 633016433 614674951 887454886 440980838 958416496 775400978 212338655 702135236 688092730 502859124 129083630 982687182 747161001 594037937 411975902 909999697 359941413 990918058 382229773 653088744 638601915 549713412 152090255 456811149 580216805 811646829 359930293 970019608 618714552 578575541 658477920 784576329 519379079 145314831 137016145 322106302 381049528 938373161 513057864 147713505 779421012 300452443 827461682 357941825 376207746 431486670 150291392 237530652 664226596 164863886 275990169 632290211 217553204 538343976 659410425 975448842 989421974 103877714 128886095 679884515 503578049 555464585 466534637 419369085 587583149 975132475 857480429 795708396 745349878 271366976 662369110 681301402 171109827 852311844 262828021 495123299 159627244 963646573 106868445 434280425 250316545 873435658 756277209 658576569 747328074 564177136 431192542 345690558 908507519 748095410 617385894 175761362 377370496 445796583 475849869 965756350 876986539 255031264 182741922 840183279 251279992 850741974 826618688 749552629 113913308 975508157 465672358 657752269 785259895 207959386 288067272 520665687 238875292 509390415 533180214 443140611 261579600 900219388 208913478 640056476 479215404 309800579 770361569 752276955 547849937 575171447 813748820 455083859 657397734 945511086 950155578 275993047 693123362 884817773 210943374 796024414 134542107 432535587 521958180 329773865 141928281 657999365 256625490 673658553 410792807 933077942 709832241 195649764 403237355 909025696 773745310 195436139 629472511 343623708 791582400 836333152 206749435 340975573 980548270 330385065 106167026 727271343 609193145 524219046 820060648 158989855 500258558 869790607 564249474 564515388 343815398 865717101 710678522 880632309 642398027 228557751 609147717 947854983 884144774 137168349 749517898 887201274 710541027 742348880 607847886 127322607 498912915 683875445 405206796 514236921 470923006 903175435 131073899 906584254 713574078 955329070 118653046 192687175 147793480 727273095 537400900 358955168 997369178 630492371 434463787 636966003 225951786 738927003 988573016 274171952 998411499 433489988 858842521 534815026 332814014 421958146 988469878 481704536 234778136 668649870 439484155 974682732 532277631 886859601 775658269 801083732 644193962 190370021 559423366 116308215 175745634 281942289 516230053 177947288 221104639 889086321 125309503 367066151 839589539 558961583 991983177 633572677 398780476 145666510 515152851 257261972 687057496 153360029 927991900 103044323 502116310 189763246 565933148 806359336 213654215 881066894 158031725 814216192 788911815 357046024 560311619 264610113 392809704 741449567 677763610 481736855 487821594 796758484 863466894 459377165 627260945 995362137 734864052 812266794 238737813 135045465 364036942 684277541 840117372 975788568 550728135 538016876 540718270 741511806 954140558 986946602 931137659 599200057 997919002 519028575 456139330 893665592 694196980 219518831 861980683 735196068 603276173 642171397 907075386 160019794 101446826 375350369 608079290 486525267 726944966 871118761 970776941 859120842 766007228 165664219 134664468 705013130 810679438 637870158 957698562 618186914 427505916 506263095 131035757 970246585 827174312 603149148 982169398 434312922 962768209 687217596 790918415 303793074 549390742 194186912 999574728 637343543 317430086 870815898 765226201 966860449 327018588 542969315 504892677 706838892 228597482 710786087 715725987 872511862 990187774 899608639 759366148 309516136 584190057 950520390 388235327 313999501 907483648 353401245 615672173 417002057 971471665 725509533 345870825 819319909 346773321 305066237 680971615 677635365 213919114 883381086 120359523 537439726 698738930 957273720 775436364 149880702 598898868 740857816 929972228 976387472 377885976 556220953 609137276 641900482 218288107 199172859 946596408 625016060 114193042 180204339 183936196 314214614 591791785 103430309 918776271 798745300 228217206 855018280 944844676 658550840 245159012 171278172 770190106 868674935 529763359 199916069 917085740 967830546 701138493 608757259 829739519 574420570 291789491 594601171 518695619 282718326 710232394 524619518 389667673 554073786 944294847 869237023 645266849 237600625 347789049 682490660 682650998 428491755 916922776 882375909 934045980 791216422 706450098 978254182 266271781 268689210 521299657 452918230 292918306 586738007 820530453 948936771 700611837 446253429 831256871 975623307 180015362 678907627 861861001 718523838 857119646 385893905 880851398 203559875 234171426 760729043 989271593 407311001 149451805 640250276 562269509 404885748 798071957 193471226 362394629 346429348 842715291 397584155 743679556 297647162 822709141 396499110 891353025 121673105 813537259 347284725 505840456 791221189 374274499 512422665 354246737 931849305 352689922 855100123 185910594 493146770 956119601 882701185 427934027 970940116 654080362 889801471 158364087 527299427 720318387 842636851 478848722 572324142 233961745 687340987 834768655 865038171 664884154 728953883 641641108 453262717 725622015 362689233 246258967 959648830 534146231 409346236 939050712 948851307 160167494 734833186 870311684 105493764 128798854 575338553 494605207 334582945 757190842 683606242 199593853 983619931 822647054 116562064 880162762 105345808 900540327 270082770 632754096 236047714 997899510 934180083 659131730 723287850 349722757 465995880 989810544 627505275 487591817 344570415 635033575 998396339 553715653 148026358 985497765 416583282 344301009 394468339 390934065 434383505 529643143 306850919 312693638 109391823 903531876 674732146 722320208 234460524 290234767 365401629 461313086 604696588 825878530 389612743 666224800 595195308 640491885 909162128 329650774 997192074 883720463 891996144 665529202 778353030 909549844 524199716 489768760 600306132 821268800 599193180 799342146 952726952 397573036 762481053 211949825 542106553 367062871 759356676 275690954 556411636 999518902 451260324 245346223 344396835 437482588 215496506 755283468 900009738 667101159 699703467 771212054 904123983 890838896 459859137 329066154 559223621 245353750 515840385 702110456 701934200 515929586 807367977 517233639 199410056 768210121 831720988 392108576 539612768 351753108 836566607 842361444 132544959 856854834 598614705 564425242 218290161 753012251 884354563 568278188 862229090 886467097 980352985 444628622 868202290 580425561 651721122 269315808 548347768 956394460 693180314 922803685 336881650 773793044 859437799 397593051 399620795 837063995 279081252 262246498 639012766 593668562 925420116 138161790 748540996 285608390 716702847 390935365 339716415 139885146 856599254 547157774 125899914 385329440 673616919 821243657 941976962 631836935 906102220 972878210 878884782 250632075 273296957 342962560 876521235 356608724 216177220 790982466 846437092 379616304 320189036 828640885 994522047 229245793 296837155 615754841 456491503 348986976 516760686 352485398 933427470 884551249 724925202 414696018 997090850 650821533 913762167 882219837 107064937 892598069 569538453 857459678 137962747 895726018 611859191 177963603 454732710 197616546 168271493 500034789 646920721 761161947 542719431 927060993 817714817 464657076 884375829 969171817 692369190 161103410 211191059 852951107 812256895 495150814 102624680 887632933 263355812 879974840 547557358 282341656 936684178 762152341 967890281 341740604 343971334 231636126 908167517 819246489 415735677 596584609 526645494 457505686 782403282 701059382 121897968 653310347 638645732 122442555 189402208 126256227 742541599 586071023 225328227 551607455 423585115 399418935 154362519 307543684 982427085 324676895 601938220 654680683 838514026 897895279 201154956 897498366 751548214 571508854 234506619 431688487 558621474 810837019 429766704 594761892 971202747 476336570 555327428 328468786 835625720 638693943 446500271 363713823 837978618 981264596 268688860 950799755 285398014 891534789 719415659 208990233 312470158 933749763 848317130 433687305 761098595 778444067 542316289 964043269 933078857 722442421 493890346 298471147 365781406 549089143 802575347 519007425 921975369 848711471 432469764 296483994 309540486 680316144 695314117 403763492 652542005 995689223 834392949 937469256 148953282 512173543 850612115 820920248 855033548 109974241 415570286 100189717 798346831 501884150 983686650 310855774 828251099 474728211 493228743 858688973 378083797 426797592 958305765 986078368 535967670 582569870 662816190 716954779 759746442 217773649 803695385 128837813 849144002 905830858 892823815 480961773 466659289 293454250 225127435 518994379 722533445 385019612 487719499 685457903 158606588 759453558 407461835 265119717 654271287 264080149 870427889 491751541 961285689 872815399 908668861 961745231 597121835 747548576 328691585 515427372 756809818 523701222 575976990 660004479 838878262 259768447 628655670 367896555 892724911 442821906 835374766 242432706 317258219 990462901 606028211 137536012 871641868 500516767 466565808 984120175 253041164 119788699 618332908 995802232 244778369 965337402 307459675 822048964 840301291 178775759 627796471 350189434 521533944 241443305 206012015 221267696 861304351 868833168 423721974 820554634 425049136 123673192 477669621 894390911 562798390 328888468 764781930 274153529 988629382 365161635 639281706 724617742 162691733 145978016 424270908 736343002 343009479 564167863 375111717 788614050 506095087 809301005 377164231 296692260 650026301 955746657 275309974 445530841 704796909 272677115 612971273 816998965 546958288 455162387 605612800 341430392 567504105 148737431 721870280 709522219 435255893 657659288 109370343 809011139 284863546 351109002 174966227 866538806 647354760 722982206 773326516 661558448 181125415 630685053 902621487 685251591 969840447 525621891 735168891 502843175 139158090 986741231 198357530 223036382 771096476 978832050 329546807 837101773 226921416 585937235 709316157 360328894 345087010 585673154 474957960 607154589 137212802 962608693 138722721 554187003 665769641 556895652 641971564 577692042 500147210 334392200 800859623 878158917 608059253 917806312 755210702 269132684 969715786 351400139 622271779 745709965 830664182 501058281 859047622 161704111 103872415 438778496 762508716 516346839 677363504 957402495 529380948 148640521 883561312 614487624 843972909 192682596 185567803 789227685 833098802 365458780 624339157 207259600 491288525 894562358 571497313 726905007 643496822 781617191 162902498 715107931 785639433 797735441 995866981 991878522 735054552 141284588 854153690 473113067 343829799 902237273 241507245 320342548 965489786 784835524 267374830 226291360 862662817 624856294 408012618 406627589 861738126 996999345 695731226 869758320 303343707 991784954 190346864 301443291 388828277 866826630 762846418 706428350 535346999 428961349 114001310 821201531 136207824 795883751 655840486 579755066 820357283 374526867 586899972 402619369 946356292 739523352 402000752 674139846 164740652 127251672 974719067 409768554 312374643 401584438 584473700 224167403 694967816 521327009 446052262 861253286 275479153 838653517 762594077 588087386 126907539 814865930 435519717 744493290 928831077 495343544 500482428 572368036 475524724 953562360 168199274 490154911 840222701 309345813 592080175 122661037 782137046 997531724 804146531 871128242 454163822 677765183 442538481 158808529 680251489 857380120 145977877 554647823 790994014 793801288 749794607 570889155 793657899 248382356 449532809 147473011 867133180 630061086 758085541 145592213 767420111 911525724 702920262 101329470 814892560 469079352 112993942 586790563 544325439 356509165 473809401 104710654 151615730 849445763 263708555 836831153 507204301 697020836 331877966 540029687 846680284 870676161 934207408 848740723 124172898 804811473 975748610 660892220 177593961 433469083 727974240 412090287 433035115 270362375 449095162 724988161 480744372 534469280 976466022 261427168 652717156 294941920 167661015 739750554 351892124 727257840 356307069 449671167 744685059 463211737 578625052 338481703 441690678 335595784 283570895 717628125 820948255 741057416 644542655 111466034 354959044 440723344 337522410 473117775 335772187 965735867 932309327 176873886 514215682 511320838 420801198 268760984 465822638 185978244 660959284 213221194 891660535 820441890 636935859 176842363 664102385 710377209 667001934 846774786 100515077 935822669 345728065 693586839 670925323 489157215 164460034 355580524 500505470 987222213 155785592 346606421 940223799 765436328 825262197 445797873 499713650 571530202 992035470 413640907 749308698 861045393 471957110 863741628 682013674 674161138 104684423 664908033 927448084 895207416 426998218 818574888 978150348 373329731 362086210 656491949 607582719 613630732 127897926 374415301 491248970 387774308 143008036 310193352 117793839 299308761 614338742 920602617 163890785 725759689 278741887 130453971 398666910 652141598 610336494 545417838 717324375 757045073 517115304 193507694 116292951 321392679 754039974 335288021 215068022 615670696 133457468 630798808 341925621 780672433 429760452 888345767 948101075 836320526 423167491 199933948 793181978 835398957 718705861 567354402 770637133 403775244 245508884 522568873 115260131 784724220 596701848 407378146 934929393 711223833 565199288 531443345 714061208 999258966 716608409 791474194 729941026 983264377 879638652 904142225 798687612 487960108 925469148 776780359 379840778 232397001 351334903 457537977 244622939 915263901 501873426 228765018 965493474 646526248 210385473 663194741 244161079 490631202 543964872 923538199 519301034 101888234 698524811 567028331 364019988 303599540 413933751 702922237 193639125 212969848 482842763 599967930 648423052 541157544 697289878 215869607 960233994 704818096 865262649 698437327 511589099 836352957 177172456 473466216 610178951 725165274 782189728 583949183 731924741 377285570 823756264 977895321 121119890 858838136 221189723 243693369 849652423 325146400 332084286 244768511 199447128 643469371 269311013 793377250 411134980 678341130 789834793 711540147 361490919 574293540 193454791 533132360 615133171 143126956 823622645 858677940 569544141 221161130 112441028 886985032 213274152 626245003 102067325 905184636 274166912 508189823 967786667 300373397 994532819 644802102 947780335 205315013 601382490 707083586 969421868 724092302 824045348 583732343 393488219 764645509 258549880 137853325 466044751 474318757 331564383 658286579 163492457 306547685 384979926 554280964 918296660 155690081 709583363 681434096 575016528 780479901 853177910 166252311 276409490 555162492 744977924 927274219 670111399 268339384 965108396 196602997 742740700 358420770 350704514 244221970 922924802 795935570 319895341 605575071 160472208 359059596 690659491 338213581 642488817 930764046 645823557 803314369 800358158 879157437 576404609 787229363 318486178 438416744 415172935 122387540 114616317 188340075 363364882 477831367 635487289 916137041 102321725 117944569 415620321 733619911 844033543 313179769 991196209 162736987 854857940 644298349 534492460 191966886 818316975 250319280 928273763 397448542 273559173 656940848 660225796 245885770 217498298 538708033 698276545 274537793 161140938 580181909 159469519 758222935 202618435 296878545 930327489 599388085 482130704 957332605 844234114 804735769 827138814 653781920 994107709 484272047 773033681 228247622 203152641 254553706 857276567 970371477 836397397 216091320 575470718 146520183 550025715 748845069 840801588 677470526 270518507 584619319 778571704 679465073 931984804 746584780 425141311 917685393 462750104 250713743 296464839 328573228 890958331 433535331 246737787 812060381 173036903 327793446 586217541 428966169 662184554 289503139 995401560 689689784 619475369 795759668 576514518 886445596 484582296 464804991 390732465 891490100 820544037 852021306 645779866 580497659 986088920 133797708 337344532 659758977 771742493 390597960 564042183 802628631 248623458 643509801 960863058 211482646 429157154 756312172 258582967 713134750 604516326 437561636 175983515 303133368 839241923 948476812 752392468 226338710 630103898 947057016 508464802 250892228 754713322 621616312 584474821 580929934 776440973 465585150 758600120 360813100 198024489 233533445 854791364 222317608 163814910 503369773 771054218 939519837 713420706 628727337 119030292 520161929 206058597 300474555 236439392 771351302 128285641 107025507 538539267 265036615 505464084 285715024 525351176 155853139 423460892 647504611 659079473 906224778 486072403 825031984 680208710 674709239 243618179 523036457 408091250 564463744 697555911 337058906 732094107 988723389 656606476 488641460 660967100 428980763 122811577 212759089 171321020 492524484 229052237 672141304 535753860 961699436 605013257 144628759 158975268 549870675 438258858 977457366 581628083 887834580 436148862 919917215 848624657 213840664 470629182 588568826 113001669 822022015 338892173 414659493 214047524 750326707 836894154 380314659 272132441 920092102 614634705 644973531 133505081 486271351 798695977 867169116 920289744 561819029 744051194 267050852 228983713 263455847 599723172 527374702 712986374 814088784 318615461 186499724 708222458 444795194 806559702 441394133 560628967 501904822 470258090 224799485 345746540 659528842 290507385 686426607 293289805 323056167 757523893 249877771 254840567 391379072 772043453 273567056 201814346 386616339 424278036 592347378 390368304 938195349 354910598 561045570 456159433 947529381 478794253 952036813 351149632 374553789 625237161 869106381 781717373 443540122 251591390 758147670 314435857 522046907 272254312 953270420 618958156 959131254 747178297 593243782 146235694 769113858 803674821 909623482 683898481 814481943 167998853 975283118 842363777 980957418 517637747 583633596 437730385 506443599 520587750 909476758 226765536 350737119 566875980 247033189 598665159 912014140 551573441 990335005 998366973 484635357 213188645 612967597 485574912 681731754 451988120 977130769 453983222 904782301 332090130 827977352 943685947 885875796 390186725 370535008 503893047 751101368 235870896 171037790 945359609 701881345 729310637 277699169 150783687 745525975 891088153 970648455 696765575 330624569 157733166 394919816 917596356 824408596 522138109 872329881 319522223 122996488 695267987 788548297 256294546 412244253 131030256 715668660 849366798 956096052 794327001 489584043 706640633 668563353 490334802 310296795 855343510 402986696 875368766 748289488 847661346 209034055 649649794 464320515 178977522 322072178 626338288 152198911 640313001 585234362 689485617 338106050 897371882 159859176 804791431 498670963 330139334 924206187 577196034 577286909 412305721 991216460 410731318 745693297 253022078 421645624 801437951 915331372 642572511 294971899 265807223 935641857 258638768 660117827 655058731 517654458 477877056 896445862 522623439 936282995 502891968 227897732 572496521 874444974 823758452 189987292 870210129 125496586 993522891 413034750 121251138 452497347 553739323 497271032 938501961 661952631 221700483 997888151 356974558 804578452 523636844 510223485 544857974 725357646 328220615 511930742 942786748 630572309 604569618 261769102 987026714 177787677 563993489 157254812 576591271 299525543 950536795 564202961 282074073 530306360 446336517 863197494 598280063 173577006 984445731 499890753 699016072 955415321 621626280 957454643 601574015 194324602 936139398 638703691 403979074 944129753 628139056 851465121 594093903 666754316 538609350 856176341 173893252 278727468 216829280 773122975 153393108 200280881 500398456 860465597 572251328 426443144 195535906 631235027 635544480 861607549 417561988 925816187 374337197 512191998 644848993 128703154 518659611 343666652 617856189 236924885 992916622 155713698 249693606 338318807 813450954 622779619 385397354 772454492 943224739 659382420 317649217 648587365 376241781 801209700 336805177 398018693 439374596 861876052 265069016 724437007 212542083 356946399 333504932 932135041 490967808 908018791 699699950 200123549 412210249 527364916 387950578 311984900 363493033 640949408 440057844 502887988 389713995 651299220 452105938 369639586 613001212 893771843 791871873 786372738 343722836 925597454 940310056 455286431 225692493 246530188 301649860 186327243 268036710 606457245 833875975 156772795 401277035 747296585 394526526 508597202 123122403 613000927 302549584 218197838 493766274 445361440 503958432 259505743 107196447 298777844 139679105 776224897 882706206 279306815 248952958 821487781 889584573 586359888 616097694 324631540 535105727 374386667 880756738 200952125 417477827 557549646 304103797 248555994 741263922 592621513 116618123 279006523 483153265 746174268 603384161 665844056 653949814 757878717 492686601 530524640 769336541 353104213 144269739 899856222 272451791 216078379 425368849 448603257 913808564 319822458 862141307 471716137 799226719 566736207 404718295 676464360 432489430 977983472 279692738 211844435 120947505 209959986 715214183 454757185 222320353 654026408 677195666 511288368 749599627 967773940 407678541 996685094 177572205 530556938 308152696 386348697 214306619 261062520 275424545 814980315 806521667 160640022 266704885 508533687 445814928 989595836 178066611 656345473 759015763 931257574 653056798 937420189 479752390 335409005 339719603 948556133 693751470 835919133 686999820 364904300 185533300 300843457 647363843 297236976 853805993 398977475 954112764 529354647 250433053 901549927 623953207 412547607 748421400 845307953 752062992 799266777 399239710 293509168 389699400 444076941 122898973 883693782 556867003 781523028 192822681 816541034 221510195 868349986 960227244 264580700 649246326 197492980 923012093 820438502 223466338 527880553 510417108 777555954 370483645 806173077 758818449 388017580 434238776 870103367 333485395 675536513 664215701 417395227 608304570 119695139 168927996 532215333 568881904 955388270 322415060 175505538 487248949 904677253 226519990 497573073 839511323 252346959 324094922 870715911 107605351 116349827 176830567 299900183 255250524 340599531 877733021 904793844 593674815 300624449 419628110 835676511 642331875 724416989 984510779 401953015 710655336 405722384 367190661 133620678 364983191 134983277 968342829 740923243 500710107 610604334 269620631 260144948 495576225 918281099 711503281 975234637 193798642 604735878 491067586 480645116 303514700 573126911 552560644 886871544 111995806 967711185 509552242 539635532 719185832 371079720 829773445 819319688 156297937 190931738 764499712 310559040 712506359 898144041 746662359 546762277 953509062 212394703 672967627 461282476 181179015 974096716 117819418 929422737 589158850 586362284 667294045 341871547 924611753 767325795 962762628 815595404 410026751 944738911 266520629 475148239 773856364 492210993 506944741 902001481 608061263 704257976 958942059 974908910 394983062 423056743 682261353 571924229 228547977 543974600 457970713 535775202 414814751 413032411 603920189 416679773 956056947 215508050 304782599 724283889 430772992 102485217 239799888 537968281 780466783 240476658 594404932 491558964 152943919 652896591 122173638 167406543 447738621 899499162 285469938 247908918 808662418 134894708 641332224 846529977 926686421 593704644 114054923 655469843 325947187 758545050 569556844 634165593 305057127 779538451 858646636 938482100 523162864 663207854 922902132 755315911 319845686 429689220 380624235 734038248 965079810 698488090 164072269 497713451 631882960 655105163 717844555 854505804 345203312 565507677 418649111 265557331 499798222 528625742 627062472 805463715 166088119 597375668 658854174 832070495 987776712 931379693 984912322 570313019 601748383 541052581 640975478 309495545 989655671 157292385 669172436 793245058 168756108 883429890 772950633 894701117 885981560 350257057 431994959 507539427 298579572 688548806 338094554 315772981 217397593 587181234 855424217 743917154 373432684 657335917 567164589 862322110 533990264 424900497 899683234 999570843 598305799 829861432 490832339 151027516 518246611 318367367 347371613 603512247 100319683 887185984 422492432 816977952 489344425 100987673 969978211 824222426 462044682 308257130 259717940 906469119 779160896 351134853 583697653 922438269 712555566 426755747 391135403 177145000 658861396 692331750 109086847 915485931 844404343 181282050 613240615 231162310 122799221 413191510 870052222 787027174 417987616 576816049 971890807 692172425 391311180 488212103 856043025 508324385 883884138 897339086 708601696 509592142 226874564 764282140 788700390 940413754 206948691 678811411 905716062 647598719 104353353 224637677 764985846 134976394 809795004 559760925 603727503 344022863 688434438 424498202 808322987 848187008 291857751 322830160 801503553 131653696 364041850 756341085 104781252 693815877 111675391 103127284 678366927 592757483 509284813 233084760 750408791 652296363 566274325 790623748 760345530 988825483 371973767 200088313 645700589 708098922 347985246 603547436 291006381 788026490 582776196 736829728 421423162 404582580 594044224 792033193 717217305 122241953 159711653 319457175 386415547 275899826 287575646 729653349 664346088 218290911 226242663 559654315 378556017 893219379 344515205 690372051 212145044 442910372 332087630 239018242 862119573 817317219 930698149 335872612 490320478 142153071 562502549 711895819 134585608 134058463 849529408 900986179 671032066 834693771 743619847 308497982 598896150 894567817 623603774 438047746 248859143 384030580 286143260 455206598 699847023 873464143 854784541 581873947 317521683 782096817 562044154 334399913 639524959 754613313 648878972 251466127 277662772 366148757 297347126 807522244 760489906 338647592 348431124 292926857 107311068 794832717 984335284 131689057 444079711 460948146 683731350 125858108 178954383 486313657 844311952 323821382 304759487 700244381 576700161 628929077 414485644 762176775 628325355 187951446 636522974 123510518 441772187 811910693 664076220 793471671 187441895 684785004 779026789 520347693 566586279 477335465 924353214 472729611 522383619 244512997 304409886 720381900 690563371 478601875 973017976 335165926 732902384 909645734 367709587 556249882 873572204 384859628 705390957 809782366 418913964 794589846 231974203 994851341 383556158 158148320 472528682 378314514 414383527 551019398 351440360 842678221 620080593 999444897 679655029 537909276 634879926 617175892 767566510 480672364 869822652 359598923 681837266 127802727 691872187 560074081 576753946 842010542 597399574 668789446 441630447 826552029 377393121 302599284 195354143 359596421 898048270 505008994 460683508 374277871 166462875 954134283 139627965 440582684 552881471 273194387 397603208 138016482 799532594 339079151 554398501 838308123 864440937 767659989 169597893 146719587 362925868 635721713 788679595 153614328 315396822 680812670 467118353 284209381 506974767 304220089 326110926 116001256 254678796 614558330 404386561 411239669 338855870 578325909 265549345 316111479 726247293 510882278 994041683 846334970 688745961 228925310 102762978 900576693 204933067 944395104 441297524 367319050 846380288 269021027 736574239 838268088 803722627 213152412 775543551 484538068 582889106 774959961 729407983 594497081 620802678 301140555 701032198 670897126 484842264 260900704 773265362 399477025 231972714 656469095 784036215 592781331 358061522 848052714 351266857 990831063 627417743 257137620 425644322 496335035 919168021 963680727 576053356 818557069 625159476 118832456 398043484 941640683 756063601 646330311 807011412 700299437 113482074 450846271 710410943 688073525 349745588 851934421 267767422 816818535 384076153 860973582 378101954 605942431 455331257 726088341 660435267 613619512 337057616 524759465 575306287 363912651 427757517 392063829 186595199 402639298 608569762 289086865 558079710 677968304 134867292 202894965 836585449 235212576 145939704 327658499 687168657 297166978 414741509 260564932 764196265 775694463 769651737 466928595 305515047 946446973 112667021 784375338 872293180 453340052 504647169 565815094 480454876 581813993 178615244 655865102 385570785 461209871 772219236 237578710 496341637 842634102 526019605 201126604 268715613 171958811 793336466 274790462 291009060 759069636 815350256 708792954 854212621 796792593 751447928 132624326 710889596 224565606 588986102 286761956 304468922 235916930 104539865 541733068 274872768 988624179 761394154 817614964 810273797 634563978 484681654 847164530 954715255 457842022 901962770 303308445 917095323 856677804 573350666 537032822 535076759 850255799 872425040 991769899 482757220 672258089 786145535 644105422 514297618 801385398 856102173 948756681 864830832 959652167 832192590 949528148 363769891 264142669 296335008 226854183 939261467 459638375 345146055 506817825 560853145 391457120 266207945 849472286 417942392 846402933 704922078 289632684 391853291 995460074 791616717 782374574 808563020 181202387 701323903 833932602 689716019 618853030 596281247 892900986 547070665 185895759 538961443 575507183 350847746 636184374 524127250 691173232 647220086 400281729 226468755 123513966 159438443 349554352 843216160 981961000 679098248 301844576 299345490 352953105 264048664 851006546 783193725 984090646 210385233 355718986 374203495 812207551 588992381 245140590 173306568 360302149 446165973 682717154 606208543 744166728 593279828 316348983 177370807 838064826 296935360 138995069 775638899 975454367 240569327 944682432 566153450 789548018 999110711 427620988 887992780 744137959 542825352 790191702 942855808 108518432 546033652 150649062 286203044 920635560 598636566 285284169 147787712 121814696 715980045 411368461 717327629 165663660 856217684 976553766 132032018 363454759 680162862 984793102 720398933 472000283 655475956 570659466 352876247 948201011 910197425 264215855 481209356 658820672 631394595 461799458 318849179 943323067 798415460 408494203 499681291 248380229 399087532 504417959 862597368 295332152 739357836 800501583 750878627 305669360 212438970 639059628 935512426 355947810 385161073 657157437 527070798 813454231 877478898 320437674 357254991 586157931 891470208 422073407 988725341 695724186 754393208 228565689 974927612 369281721 955147278 735317787 102778116 121803958 830744627 114075035 222125753 741144128 227988431 152036029 632033531 168895013 619262544 280168307 104601633 546561122 868583815 383006767 631613725 640202129 223564505 892996629 926508578 286707221 214553510 931670274 698655407 612380429 843119576 356715236 528850734 954221039 760079578 872691280 861818465 385819932 565677497 274464899 228493382 948582932 159927046 424715232 196240951 342956523 271699577 517870752 469469948 480265345 677270020 540039017 553259105 640920444 614140784 592279697 346769037 299383958 182520689 296162046 811106729 625292966 763139934 595935286 630792642 139042382 971153879 528606014 934333203 519998704 922881416 274915823 578658119 290293254 625577585 896858681 660076596 517577666 177467287 601648738 599861275 514465714 342267850 269902714 424742561 705171652 555830993 466661223 118967420 662154659 489784867 207428730 242791259 722218818 465398467 942501651 346408353 557271703 395626472 149392050 726845151 937019160 604686165 904054775 616075467 653070099 667592326 868247203 920585664 479607816 986079584 475685943 325878431 825522234 876940825 291315460 976568298 773873904 716776535 921778535 704049079 532716830 878411525 285103082 774529245 975572517 200626825 161137836 527177842 219083937 168505349 336734385 392065585 547899634 561656840 465828136 927079396 658379401 872498265 253043920 309034362 191137703 940975436 251193756 424640606 887449334 546554622 669897143 969896188 178377751 172200747 780955685 346531613 300645791 237267458 150774998 353960142 719406898 361968199 807430763 253039275 548328682 214140026 880810045 142865790 933383970 755745675 760195931 327045358 228496976 968433768 240968969 453820776 250391246 217948708 388650117 346827621 584194990 368760896 667243599 520341567 676563923 400668350 820543976 510004136 777606827 540857561 195314743 206614616 715521926 971468768 662509763 245095059 489861406 603701911 397407698 151374919 159571777 196099651 697251182 171841805 633018414 102403017 579805639 821882771 157497702 339669892 616245430 277824443 260100349 329304184 442580103 895982760 777548154 849752638 738033438 606920488 286616658 934101884 820503410 606428357 292462010 977335344 763948328 699282728 756939318 869102065 709213132 369186811 433757479 459196147 430142590 437435975 332489502 508542656 730339823 181159975 499344480 406705533 156312712 454549426 343391968 973166536 203037586 335401920 388670102 217224233 994426910 834824731 880173655 795609729 650170618 999257173 455816145 398962591 826924374 966507051 238624634 877947381 950354933 675681873 958842341 457224477 769642783 301498551 309369107 598572994 499642136 795881582 713071104 766396192 825920870 391297805 714870905 769498438 829643937 152582014 592902958 787248267 928848457 191871964 250475867 889882779 734595168 462499668 328417781 762174147 978952139 418131189 436289304 373348126 324705116 762179214 632189698 215959014 941885132 487331599 283841027 317244712 428581304 494886757 463134799 674421524 292774864 433799754 677525069 438441306 246627997 391046967 866372332 989064607 872622557 587441388 181200808 334518828 558987715 376284398 506288743 293473859 503550966 169878660 289247754 716776502 791596024 626378629 835714843 569130013 570358068 848227742 838918439 941752436 373155178 274223346 209110925 521038889 238202338 972720264 308540794 400610875 864509838 365190159 768585801 415808717 216964119 566519970 253893338 951966020 673781198 558754728 466364658 818855391 624578054 405483433 677934013 982929213 825224018 922010004 519991524 454848165 120445136 934982251 509091354 609640199 858676515 665118887 667211555 369064276 235562309 643360979 932046532 672798223 325721105 997315607 627377865 318770256 853046947 199835276 505603875 467371721 205868028 604959391 801482316 761184809 215017679 674979454 700687267 825748719 539048660 965718400 727669438 479806602 772933281 157044900 800847253 596083334 500639434 616797874 323452336 492077686 469040478 661668605 360233290 321382806 310465492 234251796 934521599 405733697 307918102 557086331 584400809 906080036 150907043 335755579 993979201 652905753 610783968 412968631 489748916 838882564 884454501 771166444 818291289 789339357 361142503 236458457 377388899 624417624 629812013 402436251 917679590 748458750 417816860 641789374 211464761 151099415 342426810 431965445 688887412 210799614 936472854 498179508 577638191 180589530 535713510 184847885 276670116 882646050 802411141 220609684 710080328 640632914 861532027 302039516 535147923 944343800 197937216 127124848 496630781 541841792 422065086 947721949 563249785 842100623 437730785 894093980 754529108 478931443 692351271 561383681 279234766 260151368 581052687 537219697 951921123 837751097 556309345 130116089 263807373 183585056 752409090 157896852 364568241 540651146 492548477 126351030 808340541 430974035 197408378 899765630 666823740 288060972 801333166 714300858 192795814 697171840 155863339 710534945 745677371 346938317 371689291 250745274 819583713 686444538 964146482 127510934 637182135 210746625 284504430 677622249 251216008 376130637 364821942 833812804 882328211 452428612 461023687 457004522 368931059 577420741 339768824 816243175 636879349 393497718 809776965 543884381 825479040 637857980 497945634 316551444 311657022 757367003 376511496 645302729 904941707 798503249 457327705 382109921 477160890 569418214 770268982 532850748 534810874 847324158 753359617 933908367 616222274 800225472 834424922 244082409 481097509 978353283 998140176 352881452 362885689 898334618 965377877 300984851 607373457 172839535 882968687 149492611 763166226 811091868 343920724 803930235 948953333 692955088 592983362 565860206 707998958 216438156 198714012 564933957 925103754 976939433 369868991 649514550 840402091 792879170 143576446 947605183 503956458 242721541 337950896 263519241 424321498 405358861 294117027 275137391 331045685 220677354 171870209 544171929 290230996 400086829 441711293 724699863 188851143 190178368 474615924 301573822 471112870 164425712 120381758 967100632 914190803 399788742 110448934 375153451 909843135 810153549 397943971 205382852 585734931 932093592 731280100 213345219 258097507 571086803 532137897 376761562 246469106 790881821 665275848 118700925 862839521 730318204 242256813 742315249 549094655 826631936 385163580 575262232 554281746 827012330 398886961 357233598 771985560 279870677 655987744 271499340 124615092 361421765 644563987 440653702 200357234 789152416 282244875 805098199 760398696 683045837 972297263 279295494 703489208 813183314 816884947 579825002 989189009 223179206 203207110 359446727 619955082 214763420 818635572 127569234 333514043 659903720 840481056 538767043 715207241 501015678 897583290 188302514 113000207 357321539 810769944 973373384 262196596 946940403 401808660 947028102 516795984 813669139 667852347 772418180 131715747 743737498 670791844 809106533 213565489 795743445 275125092 155056155 551001181 946607018 376366167 629908732 575353410 521022606 215704187 422200763 215957361 423934895 613135136 533585646 226408824 155241306 673259062 710754691 778585849 846841747 567294459 275964859 938313876 730949783 589104615 134828755 833764073 738210258 443428212 314003956 722262724 641996523 660051990 394775490 476979222 685888841 470355103 656969354 457511536 247525987 259856213 994860309 276943295 729193674 273082739 449272406 658929254 891816863 219424820 957830421 971879966 323489130 185126946 941580064 378622724 313930540 909611107 586643059 307786640 141360342 793081449 430355563 675587902 406576929 799839116 557084257 986484687 175454854 222276081 846928375 372277069 118325567 523741907 175362004 867596123 356884094 251777646 732334924 891090504 351302870 459761925 111446465 194360098 248259069 842657955 956997096 314774014 523822557 706265885 531627265 391490312 682156492 360749620 833923153 101337445 663629958 243952794 414218102 188131333 542572997 817970016 147967071 996372490 870263629 803611977 205881618 209709008 990586353 446839911 360023256 611690333 186801524 111806804 884398277 549946716 921965818 573186766 467128923 858157359 548588345 650194675 933555430 633891898 707174553 503982005 931984676 124147688 843630200 900199479 530805038 429245223 943590919 820349101 202545115 214565917 661736524 174055625 898455313 241096279 709107581 138579191 161411997 134493082 383251952 469005439 449446268 262983538 766028777 837255627 250064211 511175304 145344100 517627957 615803766 713346185 231999630 535455843 381113159 136462158 225476854 163471564 222364969 789575004 763379678 787934865 333828201 866221181 809450276 880334927 936964336 132630611 765061112 971367691 810809481 110718547 957325483 724610755 649457218 265824779 874079003 618315172 732700352 441070005 315211009 204856094 777343123 301990572 258976687 669160486 221031867 708854482 239632579 327214415 899966549 358100245 690636620 565630552 606700251 416204849 381137256 879441445 586206160 605405168 293866452 147187145 912922611 406204369 375048610 803420134 945726150 624979726 175585390 109778889 525080335 383793770 101903088 510009233 167419623 596116719 237198212 886138543 989638712 250204026 699754241 506413237 800908135 613544966 923187506 315602782 164967024 138289277 731486063 274316295 984163161 433775729 166438776 568596830 460211382 727091673 417195541 725108751 404057258 901158757 521587078 677038976 791834475 939967423 537485304 153870861 691509157 400019776 421441707 723686220 289812182 895510281 762815574 684737950 909314169 127175228 256386667 381787328 502084343 842622001 187924128 577315791 441834057 357140723 274128419 667204731 483129518 489200236 522900419 361579518 188452227 553385723 747970225 174689613 526851006 383434152 354579635 724051072 254599208 178501713 443226350 876772314 606813437 231565767 311513909 830119674 266236407 487880814 128376035 795535171 583989802 913008667 490000913 642530149 683551485 273267337 235667097 341153957 764085981 254228438 782591100 635974277 501824716 174606666 893298030 827947435 230853583 629676648 696822179 284908974 806678790 781708468 136522370 789516746 294020515 310759698 243862860 936513493 695731903 132137214 639884103 782757623 975639685 793671873 502711743 464926982 860709013 904328275 172867711 992933089 500505536 985133368 383879577 242417098 628912698 119386340 387699947 182448732 978760980 143545226 393839400 644611308 233315492 550437524 645239228 449298656 506254275 141449859 444707900 467714967 769220960 859748121 545228220 626179377 879387695 447113827 467525813 671205783 717691142 584845763 968247059 292475027 491625870 106768077 512282971 788418494 993715094 403140280 671904261 838374693 727909730 396506483 416694834 405388585 758506071 424674378 536491893 329387748 621567292 542100002 894346819 967402117 612537349 503342848 311272164 467378855 756040269 606749289 447053969 732038692 206802885 542798999 439999394 316070411 658541969 118622343 482742067 551094859 999228133 305017183 188782326 994013341 714407524 538693561 692400785 776713810 378269679 816703021 848422749 606259704 775296032 403733665 886165407 685099295 209444870 496446769 899089254 926501392 974126448 999467208 149388638 642133328 339827876 535617054 707406376 761417574 153511755 914372527 861298867 423779670 935281130 612497410 159364955 997360585 250941029 952225167 112069790 819700181 723586184 142150915 159653394 372435538 764096597 842547034 805787891 280360737 832371208 279033422 362078517 803097032 983281132 833564685 164984389 726337780 987034094 598811880 299460193 702836638 269862991 925644305 853975767 365685696 628787158 796312685 470556510 105982844 273528432 798918018 706267718 567690209 950551756 893448882 436380316 429359706 877996051 987498885 592527099 518188776 732683100 999344000 564059326 493832858 559208476 853505719 561904679 910641597 218317149 732647692 411410650 653991537 776157680 302780764 492775264 300090459 521310516 413203532 738708189 145928995 341982288 344512667 890395046 333423608 728929620 457357339 128891591 658775233 449794599 320579827 283987534 893697635 796655795 527127201 813863711 458550722 471306197 431263856 683643293 977604293 277391878 359736332 774229694 504874635 774147870 823725574 643586896 956964896 676678046 455326032 234561926 410374767 764629866 800150696 487335181 678096759 889289462 539202173 131482491 273716127 619690853 327172437 467145360 317116818 407830163 369830608 366708851 637530681 892327959 209535615 974916754 106334358 781049935 736143961 486721185 324441019 779060156 187611010 773159183 876640413 808945744 390516411 329347873 932906584 701852481 681480089 752632853 956890922 679737899 997400458 415026874 605806365 764104279 913435152 955425912 643837016 103009587 507972222 584778661 340434078 449330154 262438000 445359863 703480454 542198563 801576030 893149490 731342179 462802759 916230740 712815255 531857822 624512808 134206318 325963564 477580438 907860193 453685237 609585530 485277178 738670335 870450844 457045936 831814999 740995354 272586245 831674487 468752681 958578056 804298284 786689796 831791336 351186934 831688363 166324414 961439900 106724851 714167615 797119769 550817025 428491087 770136359 722769763 167489084 489623688 919157434 174049417 545577968 422586331 193247344 643023003 264862699 737129532 159131343 817295790 503217650 352714423 588292675 988425508 332247449 936880527 189553952 680110554 211359518 165903097 480412467 413995009 749814432 333895142 362263452 488430593 661365096 356309838 705918866 665084209 281122016 192585533 837529889 554670968 894735346 522801375 460892485 483622820 334525507 351208061 134085109 422092946 332417898 519239908 218429862 945260878 970345414 251961300 699182356 561626033 342348972 877921097 800984846 954542963 617433167 389027971 647678626 188353041 260599928 312541286 836119685 200557786 199213552 567555252 528469521 314000673 545373626 173673748 705237698 436569435 884992765 402827492 907603413 485268327 989734838 344579978 334148384 806931784 507976097 155479816 998630707 373040672 972015125 328680450 121541627 213985054 983359476 250259586 543598710 941980589 596375243 588914779 934561027 882639269 216587055 360963945 931344782 544868799 399101407 271342809 891924566 339503540 301112675 646889564 534599315 455262939 653292431 589561866 234556254 631116198 231911582 855952089 717294833 950844261 882770475 268066308 453777786 287021075 511472204 488020114 828616434 105770726 564835417 876234514 205119773 929880545 529946227 317320491 490432962 782838583 130273282 976305039 176243334 150093811 438826131 466312102 469220461 767103861 964021898 870807473 854863120 989195707 321638140 365884731 389372315 765415505 470137038 568602764 280809041 799105356 685548697 991203682 405473217 187566912 807415777 954604504 526315935 385722610 408394397 520499866 927184870 962244170 928852986 656713255 473353886 412150312 917837762 137846800 555031106 126729731 493026868 292435290 535319270 316636695 349080913 821842120 107588448 897275601 816366859 343628689 219340992 328481076 274506836 907485982 352948486 795358418 330226465 244171000 575795732 728555747 309472623 236431047 640981414 179691842 553466894 950102331 960003041 198628086 973728805 856585158 546745338 457108303 980384586 969473317 848664952 419510447 949387812 855918240 512797078 928996570 342782015 617998524 246312792 722131701 296696415 620647206 632956393 216084048 462692422 766631110 854062982 922265822 547400785 710670350 799250927 294189781 837458829 758218049 623412138 876914836 989033100 352552236 951938760 626753238 341947004 731642919 833114174 567414188 117899687 419356650 783483904 177640349 962061744 307575839 853655892 743328220 426228570 649802213 877314694 811687226 968351732 539789695 168628450 478899749 402503586 924984900 621925063 748109429 271413578 381578423 278119902 262725661 370962392 951267284 213623103 697044225 322513876 316503435 710464845 760555241 385240699 503623189 338464595 921968153 295380912 172835152 817577064 122182808 173091510 162024482 445617451 992438100 479534618 653439883 994494730 221654886 547565964 724019153 915370597 508402641 670429922 622511242 191607832 929582047 969240928 765523350 713974434 724377669 224765547 563619515 896574060 412157764 296435845 130276877 689579742 294545830 850210087 576645258 883962291 387272221 539879105 304903888 950785681 395612317 518199782 251476863 577809681 621654720 754980897 783146343 133638004 786360502 390393221 396031745 550367093 630132666 170552909 789275514 661214241 303557168 564714229 716945409 725703495 526438047 818575267 601934100 740939647 881035169 287853157 452619771 476818394 241704387 456262825 413312216 382814155 709212281 660460245 589925760 102487087 320128210 919973462 535484406 780894964 936567951 674668714 189065688 456807551 854856390 589212693 468087101 681271372 370769931 128931685 348462330 803257228 174775977 344745921 682002035 727624225 221638434 586176703 418709149 670058697 657611492 450369568 685398584 693988326 578464479 383032118 947072974 377559412 986142036 190633995 490900235 176981403 987553733 501019248 618245414 684156176 906087863 915868972 183778224 163198900 267933810 255236115 271077058 930853360 418258489 521422457 462741808 771534769 768127153 110977773 587813753 319251462 529708050 790187671 772355471 121528061 438503106 315317350 861989963 923203052 232644162 176770262 688638043 732401273 991144185 360872513 718602935 367507653 497054234 306695075 237969274 247005904 486284788 865859354 384668319 771881766 614496168 140808940 462854568 743356039 280603347 621352608 749178763 698104533 933729300 284137407 293473253 366569300 723621904 344765102 660211612 193768950 368714486 797793256 770580347 352936702 236391034 698828385 253693946 497881382 238720676 762217349 960036269 375210112 501730319 702390490 701805330 346728874 211073515 542240463 438084505 369184006 274113497 296496269 942952560 677509005 209082463 438678194 150343542 698156853 902235971 953506966 888806683 233162708 194651844 730351133 864898309 967344541 414095370 729155965 793776599 264424899 178263058 325090965 510435780 917522657 807545675 888036253 636433530 711532175 576426034 246410559 144024849 378116043 292901257 275574092 945511281 281428466 488568791 947611115 634225988 397822819 840390339 925996528 840853632 437033796 329886840 938739211 674760244 357582953 724877013 383088149 121351689 113968154 207668309 777956075 312621269 735220657 697022513 626886773 184648145 640961904 850651136 523400580 828069963 434491114 522518689 713614501 717229633 583318983 108199213 217588513 972349226 876299837 860782258 361584119 922708162 178685645 497554540 273686710 446534436 702431813 851862536 419460237 217029172 407598824 555388199 537660812 935887785 706935042 505881236 938257912 251740234 162030573 344564955 347486839 753062731 523463436 970314250 319002775 578089444 149297905 297757779 331427251 923310902 953777348 860526499 241168469 240074105 322417679 267854831 918313779 612377545 998380112 900574914 727813190 467822868 767396651 560714309 708172460 607506848 813226020 916574930 733924826 638352358 126836663 444016324 337251929 216787875 630537897 392991548 436915095 324527982 592301328 861524126 787513865 512487485 490609905 226363161 382311318 831943373 642124499 255544542 556273076 657611694 851295245 487822734 956131209 396831451 967511487 895700123 198062648 951379851 738687264 284079060 886490704 961765687 896673819 511321269 765025428 349253257 837935375 756617097 446900040 804597614 806290543 487864686 731020216 586346890 803528638 619095379 411747507 957869391 654741315 605460823 786684828 274580851 437644155 625404318 273611272 377292096 521608196 544219311 812200286 121883166 768964481 528927441 519063428 663012228 660994128 992608843 337705776 965133950 279790329 249807176 859886231 495655526 650677817 876075258 455702000 413831887 155738486 296961176 151521567 899709949 768689988 345821964 208202264 273465566 848490552 165281954 377820986 151846658 811551343 494794630 829701319 329324774 637050902 203712498 796132832 281942340 727276262 753381514 148840337 205621684 409799772 809609695 599463142 903207022 990768107 203332862 654042676 294829967 457205816 689180040 897256751 334151916 327838770 671849413 616470861 909351791 110382332 922345128 143994007 860490881 685641741 373536106 387412982 206363313 862468893 820623953 413973592 452370181 822136117 213025395 891644380 452131789 742048968 945582194 359353315 499813479 986391821 453816504 286954367 575928643 235351048 658106543 824494513 940689353 267636080 677358363 995604168 148477467 158441977 888185939 957279382 750600884 582717327 810980667 576137660 461005930 833719614 383446366 315959798 886103573 105731744 179544911 942003619 923539854 397426499 638132477 512988058 373159660 486226433 560146083 711036430 364366909 744675464 807279641 592154523 443126243 676546051 503078756 723330785 102711743 309581916 914004935 480687905 456035183 783471319 196363716 426871653 558851692 835021528 382900717 343432412 895531190 482014206 765144745 437466801 142216611 894328163 330022684 909384596 892126068 217631803 498377260 234281302 976264997 978164390 407898446 231021503 288461431 719231536 194235139 154782463 600385377 639425074 844489926 409849979 707510582 207011852 466590450 134847607 735478365 710907424 842637011 882412641 871516643 677177304 330204196 412576183 956123375 653707302 725535646 262142046 771057452 869703811 636374442 441054877 118478217 178017070 158822627 900708299 897730532 132869222 480687933 710165263 122770801 607149368 611612963 515726363 826452916 900961919 574779837 664801052 189100648 410815564 773865289 871453213 497400155 770488155 324471569 587476636 463338053 952548890 766431937 566651964 906464629 724197071 200188781 706338127 427487529 464525673 162649040 313022278 195290010 479048988 556124025 922869805 771359724 342823079 439792801 949388353 403974129 269040975 201744449 810313843 259207885 526145479 280260843 999127733 672635915 887763003 988399178 919968275 124811418 762946258 106678915 284034169 902134391 681217927 909988060 420635414 231848790 570488789 314805309 431567762 355729459 742744036 933483390 214421985 311376744 871046789 801708392 267629550 109094919 865371861 323808206 183910519 408053819 455428842 193567465 186646352 612144510 165570012 935425123 620481658 774620715 847937203 980720056 856445939 833273063 644027060 511931962 782982215 543887579 191324348 963702610 760232860 234358231 419888106 405121908 576996465 392936853 123202379 956035294 602167680 532420790 339538227 576514661 667162059 677162615 500674707 947956998 712132688 414418946 880382934 595947653 596720032 429971403 205164525 936318289 345274563 957720839 615639291 146675893 934716289 282890353 417204928 840539808 194321539 594336279 825684799 261008179 643783564 392935036 617979299 932729178 622009850 682719884 201897753 505068419 316229751 335867846 611960650 527599363 519605589 643500757 262761588 903437095 775668087 330920799 110007363 214792116 556861349 317325151 181348005 428918324 469162922 975761627 323504397 130724221 344341489 394898271 769741681 865985318 807934273 451373953 391476205 749805676 100753005 739938223 775850986 464098110 823236937 185490580 702428943 602240350 645534251 879610210 893554758 309416517 464435386 877921037 594919592 184684675 161389077 523165743 597537728 449653654 827045787 879865721 388938163 207505912 963075712 322790908 913226795 157388034 808374675 934210102 801787704 662569207 746752088 407963064 443849446 260310587 890414068 224179051 647511266 657395320 938711130 344936900 842141154 243584394 934757983 503640323 563467962 220098491 800331897 513490388 746667313 752166758 844155656 313852764 420512543 439076297 984119108 972709813 975024746 451397624 729445843 159167188 544734100 778114625 233612135 430031493 652845566 389860537 543000089 539441935 760766266 143445725 849200401 685291934 828506410 329898333 886120033 273752414 790627065 999385495 653813135 377344896 415667712 854865577 802569958 980151048 406966032 831918455 922207135 103174150 863280776 399948480 573100038 117118067 184814239 818451620 351689838 282204339 857069951 226747952 802284437 492769450 715235960 248849007 592402195 875318791 927734984 655660093 509675683 535495679 509276245 194749747 378700342 986896407 521455141 650959301 770534262 343465080 236308284 544839808 361730080 191351090 207169285 864132315 815524422 112646834 922886367 924591547 404836576 222900665 213066498 586177012 332157986 194314002 208392154 468639715 307355910 830413820 550738095 515140534 228584832 376200064 776368668 836911055 755760204 431954531 964891534 834699661 121584221 643551928 260529354 850175077 287330032 728887322 942317802 797470779 693709145 757889536 501508528 797163301 908818367 867343918 344978184 222193244 907149778 406915880 918372403 416044339 963066961 765018712 621204395 466221539 636322574 917966257 941675082 451903431 378152731 113136038 986144567 329398624 173224504 902812458 265466614 111764265 966556718 603476446 933989984 463510987 164349250 565047370 313329991 165620597 953933011 684391642 538379619 298075968 719442525 171559875 915844827 117249039 929630034 770038259 194311378 326348902 241221949 448274586 849908078 956760691 514510028 650773574 264014546 346620456 676957549 649160526 384361185 772144893 371978443 876837850 446308400 877633918 866828612 765041542 430868959 473802819 108113351 300451650 128448183 426991639 605821948 323744595 452441170 890916872 186457192 392089393 175938581 441994180 598647609 615866752 620733832 210309971 961752627 591698562 742201250 175040814 653132340 645269583 755281755 518086876 150641170 725196707 631311639 500966290 415771407 682173819 860647263 269722019 294615108 148639677 636059109 603227690 577577631 961677925 156276317 836343414 241450026 581825760 628935885 363651025 576871960 146982825 944383753 913064308 472113564 516149075 652691290 716753459 168153234 817300296 345948982 283331771 908949647 916913450 617482192 311658977 562922990 885355320 185311678 535315089 998251491 726952279 117174844 214550982 141593922 788159280 159961405 861022881 540053484 423585895 187752901 287378968 934515781 293570921 931298424 639087879 955178747 148482384 288145058 280812654 538306762 937228754 158454542 268761233 471334825 335111120 674465748 537203833 414892337 210439134 923627062 205224448 278758881 721435216 284191405 707146086 257415189 128375927 824041401 401000866 854957998 631766705 261154468 517832987 872528788 294092343 776439931 543199486 435933000 824924218 127562281 883485192 780282378 193459781 337784853 643556857 379030564 621555793 539205724 466799491 744955743 883531055 988521512 869108480 604096354 783384121 148016845 537930622 894391402 877266841 134739903 997664471 210977683 316149490 677495172 487298763 542652235 129141640 951951989 221930979 715713033 386805508 726144775 613874732 629693121 349471499 778119504 133647856 581691818 909421395 391454208 858432589 448505405 167759502 172969280 756673160 928609828 910627197 392499208 298782979 144928905 919974041 392517162 592482606 114387390 630601362 832801290 914038942 909814302 602732001 765613840 281572138 704641063 919317951 837131850 385703476 544677978 399679913 259971846 628629856 679985816 363617317 730682468 627981388 445890767 421088985 116998291 816720306 408478943 466611572 309892892 606841142 554893075 181584134 812569397 241025938 194800380 836023588 697640371 302776946 865275992 517319902 770599351 530151074 188059373 318661993 728727969 898729519 727553889 547964398 909291689 428371504 756368855 317482882 317565490 759051508 346729961 650024095 419562318 888660474 959301492 231040850 712893259 220566339 685284817 323519182 714113044 437177213 205412202 324715185 505536905 883638640 451043048 379527812 103351192 291222377 830247587 881677871 848577504 895533800 519877211 720416608 733780159 142200902 762245622 585573728 286847689 341303573 902451497 391483442 104722775 538822357 455339089 173218200 589884425 118075101 834955482 945983009 860419519 220915928 337813462 377839667 610617889 588198826 745470628 273966290 612367697 296573757 916419916 114080978 255064288 561297767 176800509 506636154 865691712 647102166 845614639 254613001 219095754 738026424 979091733 171563794 254477457 779360408 423056813 325192421 698744393 512000352 134004149 114620373 945067599 228517926 420654305 130499197 140727467 374527341 889254603 787984448 158847228 376053205 542170029 770392569 745731689 129437514 471850030 251999273 979597552 911339164 458009021 838917096 868313081 309716035 364470126 609069369 326893434 377399843 216407884 399292343 548458951 568910856 958383355 737727689 559796756 719744675 224319715 184633194 385340818 615956001 276041513 516890865 116005028 952553824 491800335 798706137 129292711 910474631 633299011 105511743 327400415 380193300 794208189 630259455 325905395 494468665 465047181 571997781 163700190 502561123 772766656 568206962 541773988 136615415 590345590 544863291 883514062 718703668 313573378 914004750 302935520 139742918 191239801 584020743 289122176 482616967 298019487 507683013 541983817 760440528 524884681 695454901 801841264 813482832 906866356 178908739 979317167 994329961 672012302 862041571 815832913 662570552 600556911 586028025 777666461 259275839 920229106 963708755 111787199 203431065 556063138 333706218 781741038 483642348 450301827 985492254 845507585 439450297 604724648 530346522 738602790 806992773 844951762 996166832 306016790 245787699 307065644 731803199 721740499 884404460 722840725 313336669 423107560 389467037 599606488 401702391 220085469 653935163 661637468 397853443 692725147 359195197 976067924 956675282 556072451 584169855 514649753 119236044 863917491 603830580 897605807 345711138 827513485 458629466 299104896 867633700 167285260 609596951 253054791 518693607 553014060 767007594 196097723 293264608 999430437 101201957 434403683 386210391 639105508 534969799 907005757 655606925 508422292 927745472 712326716 712424551 451156082 946413554 477629618 632029781 753348961 916199253 584027022 886391121 996463774 998508982 662499170 163457831 219504465 563336475 160041957 266257156 495467754 979572633 515634890 619752432 366353148 718867900 931943359 945291956 136229886 369661201 762184733 750668883 371303671 507534273 763998252 135377911 235141077 141915805 376607073 186511130 835410154 143881575 160062261 316038359 416667798 974359237 171043990 920748692 161228362 433167355 812993912 972174123 267379914 988437611 134503201 555140840 959238740 120511299 772835991 825291584 542250460 476658744 494319298 506881041 137344741 283938105 437598847 553331809 117006643 694785140 917603737 710589985 283594063 790542847 200791458 611338571 472454071 129904075 929913196 896009030 423573133 305712587 769018448 979428983 691034749 738915304 155073154 580467912 816625336 846017570 334520213 483998783 812183246 567655815 992322439 959722808 174121717 440747466 391060744 941288864 157486227 736184929 681633985 273324307 879759002 883987284 449844872 920520872 471582997 938864355 935671424 982943924 769401735 818702619 184158625 176653692 613851594 973517470 288887347 163724812 658851053 263267354 351726719 805455387 810784540 531480809 924092870 784647355 491883985 943891051 429140286 927771805 279041027 225324875 277259365 988589081 659914948 304919345 195803573 178626707 155490370 368680930 640216077 518123229 978388419 799445338 723562413 170150610 943983589 696019875 610529684 575226912 723160915 800939712 697297451 234741308 937754848 350160778 350868879 106741313 777478550 955957487 446650542 822667814 674783320 767894996 353859461 368919961 107180182 135683499 503906837 966046863 765413583 629164972 224155994 231741400 765885228 708553214 115718671 977623674 675277081 113647529 632226678 393099306 578386442 828286597 818212195 400469596 397707985 215209532 665418198 339952003 107569804 892100966 643650913 219335473 777362570 201002424 780175571 349285634 399147025 491303740 811857227 371085617 661974306 413335597 997883734 126492375 631554999 140052978 306441265 663348344 614384274 484140227 474716140 866319997 709276596 300656489 927675740 910513074 683112488 958063183 700632906 643566028 872149158 722119881 900876861 851442807 233862365 427906082 695565043 775811022 524799448 624408877 795653885 143814444 288550185 285328284 116041639 453188169 766271080 691478869 619340320 395947592 469291111 226538960 777903171 712041350 694745846 165258142 901609043 879881501 769873140 353925138 858380118 839404310 195065704 894165353 267011457 631128915 720707134 394789421 552113449 954785243 557491261 961753652 111140885 947046232 808710164 190487869 407687315 658988612 808061235 620167828 955549600 504418911 848888697 932950455 865969907 162010627 608882629 609061896 643195157 477977863 146015665 904529591 982419030 914420791 173459708 157022763 992229422 591946442 403909840 446828484 908528266 627389764 978098985 814902968 742364713 307057619 543596903 458823975 956633794 307588085 692821834 480025144 768093338 886309442 677867285 638246181 176959788 565650390 532846989 886972449 607288456 558476381 183207775 267975775 983044632 441350787 928938412 358584679 734496438 340541954 833398983 524369252 640053941 418356957 355310934 831501735 985761974 488623707 523357173 914754609 373877525 968155830 736627872 823939757 232996750 785076387 669921597 124139153 140707239 676812754 303273758 499200193 733561753 334020542 411187126 122086857 582463521 777479534 870970505 390640899 276812511 299249002 174173098 649164526 162633895 909118861 192840577 351325537 505927260 215472079 712081171 992905203 910889327 204500694 633742379 175052626 440652350 267616986 980628286 405084143 842170997 246068141 717136636 114850173 690696961 867418820 608686973 503583376 538611888 163158859 219821910 544335198 969942804 163527436 891388073 418273080 877705142 536066586 452354964 741626626 105428974 185651232 211937673 666503146 204124300 591552677 893183169 571434554 367756186 353203204 296198272 566480361 208980317 472059029 985533477 881767860 898264236 764894156 661940276 857447073 863089599 780663459 464890110 714244807 483410050 886819001 880685918 237968604 898261651 766076767 579731527 949354434 159997466 128039298 988939094 106193009 342569515 666921030 442114360 531496124 561640602 599552602 513419117 640955153 778697950 942735379 544885129 951707499 400005819 893645784 686250495 936558898 932535077 265904333 330279282 930153515 246224543 425643031 288959928 576928297 701436195 279223949 355527741 937227803 170964535 995203948 470841359 806053396 251789369 790391984 328763557 204523955 424276740 235216331 216817409 501100753 332109608 873888449 834205389 951817580 208600536 913880475 145337094 448784643 285225991 631230379 139369892 460028084 171609941 832139783 572601533 154021705 903787729 424525601 455740649 891387358 482598928 637386919 127542530 242861057 709943613 675705418 614922227 708549411 755896737 190218161 892350198 726895112 336426469 511981287 950967470 542759953 986258539 164177263 930643822 527519771 312350739 467425812 219076113 695671248 906596114 639876695 112030175 860477341 592549850 182174269 384047046 347429745 810485361 889505497 366327656 334681681 489947032 247774396 631190814 823524213 425001169 743989486 445178453 403543428 222765960 201022064 754363224 166134815 506961612 449327381 794679263 360922396 566952745 866539189 242383223 371899315 406722629 300206194 192448682 142289405 229213067 692118197 179059939 494928656 966647245 150995467 446293796 827952575 394515237 658914819 120255100 169899707 995780059 418778541 184364806 903548206 658824273 858230174 691223273 947589439 577768481 234284495 726395487 378758801 992054914 877760720 789588833 712759225 214347962 821153563 466045214 318077936 731172406 131741004 387279298 246108419 568144272 750304081 738016513 458074301 595569833 809633431 239803385 884326670 502704133 695011477 389871030 772107682 103094964 345592870 640839949 584532255 383956141 218763252 995042909 833964360 942800706 412398659 988839440 250257262 775992333 544108470 798622730 310719554 745839662 220104490 892480196 686485131 997074706 865443571 226706916 349313303 603786932 462956126 916693984 299060297 403558264 958581468 588293423 343034442 408940284 565257939 195144148 299640726 905741343 511408085 908073120 983253782 302135487 919161215 156137750 436073383 291176884 633865658 837659379 403989375 442007019 425098328 399832047 985425933 234785397 121434881 151675269 499731351 841751385 867494144 902100850 730003623 924562713 629029719 361745981 245010916 928033798 224533101 941833727 667357211 377694327 148682555 191048440 835032468 751417953 241837703 836982302 556082943 589055976 537840657 207685660 395525151 764554706 426872815 886243310 714969869 940425520 301145175 804904208 322973859 268138857 582286677 456802552 244145729 336668751 567675979 556546554 598857054 686513650 106841374 606244902 368876725 843066958 128228108 268053271 555896530 129117672 273623909 707216180 241622136 171874244 481592074 512947027 472397460 391688717 684000670 686481567 227436399 661949271 275305490 537938412 392965094 606678752 697866227 510158041 703037019 951079056 718143152 428154699 690557712 131441375 773950288 505010630 510578242 285764717 850261935 353570420 320544999 945617821 648552298 113563573 819310740 702013711 874157415 145124665 154834156 807124280 646133795 174817555 527050519 721603668 229648935 741430063 736372978 935456722 375096264 934881317 362325043 379242640 565363276 841693778 271562192 127158056 376462676 270079367 535197980 740384034 755242201 927887171 992667408 562492448 510566096 247314103 655268321 599330747 911263102 838702864 526047288 299586096 819339353 865140303 723014468 444407064 973594954 866400403 197884023 137587813 586816312 271990794 570339652 856670145 280309129 558353040 890724229 894709576 263356800 815570214 430921510 511463838 647413268 294468893 259308981 351777870 815741161 253460560 462297636 926301815 494278526 589204100 183645278 522925539 994680382 934863676 392269989 676587713 441775084 249528458 254001534 956016264 771328845 417550749 821131894 245191292 556491682 442943281 705492669 915989999 775100823 250523699 756928945 573008581 593689150 830550965 767289568 425748574 711497537 737710840 428176976 732655668 364448040 807730692 718406529 619681374 802283893 666505749 363592019 524100269 335291160 418111925 881773857 173281818 205864638 385227323 592118273 199032694 427249968 241336574 679725569 841391177 617138240 834965274 817984315 403663641 594493963 753053268 585010561 483745503 475629676 324472864 130253963 867960827 696609408 975254563 817920041 735076853 624850795 345229249 185356223 542824320 930274627 443273947 347456459 963941850 893397270 909330656 966950830 349599497 324280735 345759404 483989731 788841374 745591965 404999704 132620104 411850775 101673153 854423391 169895812 119820280 824134855 423954250 108306040 518570038 283448113 413082749 155075037 701798662 748592639 461262322 498042740 722347841 312488018 197628765 400753143 489884695 774890238 626299170 513495127 224257959 816638540 479265961 679479231 220532374 655121653 145175251 329060034 403417972 373786928 989507685 974389863 950258388 392605405 225403627 971347045 671360574 260237782 309229106 297560022 186191119 725965564 905160781 887631823 456860612 952556669 352302989 582505883 887254500 496330032 178190593 732590108 823806200 806118373 935418841 191572017 440755556 588688264 774042631 151709034 792502506 731628125 868755107 660694083 468042285 658706372 824674863 594548171 606487373 277028230 551649995 716455801 233876523 769623233 692637902 299993272 347167144 346805461 805508052 341821385 249321453 749644977 207363009 115169015 236573464 847227990 845286527 574299215 512541264 645891622 978912536 406776370 552081805 353849372 636125930 172639015 603801691 690616967 449665489 977197358 291768481 245517565 702288062 520548680 768654118 136905624 650586986 372527230 531568347 256812683 313687374 752623796 422368984 114924157 778517323 483608855 776732269 341844304 706332438 785525744 408997948 385800905 894480543 664459148 838831573 190218443 653055896 891507907 632505147 149027996 878918577 300084818 211393395 733748753 975674358 487432010 783863708 313654495 261315747 447450541 459257585 125432627 159247427 426574271 114076943 528500657 941181212 574840586 424763773 979665952 115286517 447113139 995448814 699237528 962720741 392122331 307621967 133184936 348823690 131969525 763126642 456063550 188017714 707899731 475955008 410604038 429272798 899720750 385475944 665751405 944162912 975896317 973530284 733026974 154540503 597426581 641037933 461602004 625861813 813895682 206480479 542585697 594279766 836400864 971109799 678654854 446013360 508909683 919276743 135442100 178902667 500179887 715168370 798480983 690697412 644107255 894074646 711031491 352497109 772699678 440816583 898595356 612275200 287008988 460742680 966990449 154962212 519574789 823943720 987607683 973955737 722906103 707125508 755657311 317956886 608762480 554679550 813683266 871590882 654878975 975272327 341958082 670744506 897125466 560555794 875636047 808822227 379088492 949483247 761987986 271427171 861067949 664296117 101984094 803447945 451333312 458335567 462435186 587371562 526519080 651302763 984383227 228420152 865657164 688378774 445625217 532200422 139862934 808164756 335020612 782971109 664640690 468513144 195094654 284785956 341423896 218811337 558114726 708491888 484176106 732035331 998064891 382394116 170663449 130456192 791362274 297643977 975521855 292525071 281055578 347264609 648718549 822021347 614357662 872268324 534078985 669882327 936182170 678965213 590477263 577580004 448382212 177469205 375651847 479248934 479458389 499767935 423443170 614075011 350447102 184015488 693920174 124029865 819528661 126849818 664481124 316683049 760113147 897157761 130046141 600321457 412277193 481451263 899598253 816432001 119447206 297109007 451711964 448624208 198711672 407215309 218479556 528363062 418303569 505302834 604509724 278976290 975866581 590841251 283157356 955529377 302067114 862518305 494396210 783552175 694804622 669143297 648408060 710871826 147172833 920073799 806674336 318372716 319547691 195743248 330631813 476858123 166629990 569183211 484635539 294736193 145544811 651638322 867345308 440708300 481510651 130688347 724323191 359306754 895307274 115611931 219276189 135130734 687402750 347681749 468094702 786603496 560403254 499685111 928394624 476549032 324900371 850583910 224948485 285955601 367851848 402329890 881670619 247243583 667307060 238614161 753796522 394938129 332753269 951746394 260664574 355873110 954029418 277165519 320049881 533867508 422490366 985312875 265997731 546017566 377776695 543754793 442693695 519782069 215616751 591013530 530315443 866395282 234217542 277390626 572086899 947437447 750597867 397996057 168977192 254919902 757002995 694552917 213840243 352642149 372711259 534420701 198431547 752106727 580610783 276250633 395238048 365689560 635435747 242685128 616033521 358908331 518742003 774380288 221953265 878221385 543778693 962177157 124189775 828078333 853074322 469636897 147167527 528102805 244296795 840591129 332046210 249410132 358918226 220171599 859580461 452254077 889593324 140422820 313951067 465344212 365002836 443306869 538354369 198578464 436204466 499400475 845410134 366876006 263200979 931143183 342275336 669062921 957736589 655757663 300228010 535152137 114489720 479254798 550631195 977702659 451749521 998153759 894949802 343108644 694175306 352492327 774983648 961655328 638969820 889463419 267373678 455518753 394661153 652286153 582929377 440211699 644973927 784949014 238495183 925314369 857703199 101636542 400843633 706739367 488537610 620903343 508975885 364273012 632477384 794763557 483420514 685062836 880687178 957954776 228982929 607545143 413273608 724560506 562901080 788717087 438069115 702883465 610389373 780337249 605146913 113877733 202180156 716117394 806708577 209197861 987186444 319597883 958088580 787364623 417665093 243988591 951480863 313514544 833054516 411349977 582003459 237105647 782702709 610742074 816051322 799682418 650861663 872079274 767177003 650509362 929730991 396978978 830739512 774105034 407303867 890586300 647377071 941287681 869981501 591830823 882480585 455846878 283363915 492604885 759976714 615607691 133441520 381786094 434354227 409922367 239747715 823017647 421458872 805236134 697324884 714460368 187842692 125342313 291980664 845777080 307369744 157972593 990713338 605977720 983585550 352153916 686912414 752854476 844711572 100945726 802307510 454414361 948829634 127987880 939035506 332957194 745055089 169668713 700704175 519009913 962383563 414107652 812031461 240704625 686612264 725461830 672007205 145117685 866187247 427060599 225228320 709592993 118162367 398384508 700712062 395657817 883880699 497039726 227898227 764143419 392777460 993732294 779520471 743953159 341411533 679865815 441182453 671898153 276267390 427104276 562280825 781400845 532589655 355832663 870139232 109221057 938595203 731156535 737070572 208932872 464485935 958492754 705250532 433518360 554731067 106933898 701772381 336547073 889206723 838087533 103395392 620333378 493670745 813472559 128899853 657107290 448499577 385323325 137779110 620379431 625872256 423720334 814889112 397493960 674430942 142428217 938646166 456504867 450544225 129952833 150466762 559013478 224065926 915723994 578166871 238916584 177047602 212038453 913192482 919779716 964901810 630421037 760528858 126964159 113517986 694037585 710400175 955023277 455835716 755666351 315146891 192305161 750151339 269671450 557057950 311754467 544625027 617389934 797127585 760323624 924940905 492697030 154932177 256982053 754837529 793230584 896643397 814568582 733939289 194572401 315135498 776380763 892989376 311392846 818857238 771530816 952356016 251914536 343847633 585814517 947065981 434796771 154504031 128798814 728636544 150686349 151895165 482640908 570791916 561012554 734800048 656737137 249231906 964455426 638946258 107490953 537044398 433381419 526532325 940979817 975363548 186449782 318919773 764649799 393702343 892368669 690623370 153292364 623026907 600833368 350506663 676271610 143209552 952334395 344199094 430409680 550884361 884877726 748642792 263444430 512149639 835467449 955059771 380810050 102377416 445781510 466443492 730263451 461571056 953306147 372359661 806021496 501211496 672114609 750281437 377101732 313178039 919364570 492393887 246981958 344641863 413265311 499204844 850789981 130635402 335471744 696348469 162728809 144811961 205316859 643543355 854708208 896922223 144250056 909643449 813057916 651082262 121852237 695509315 911707521 857206037 130074607 694479182 123855495 344866149 510386319 199084934 635538303 954599007 959072226 149009083 424551035 712236488 278065756 617353803 666894682 372513818 948100990 707118764 632409979 967778005 732013603 997088689 135465850 814057283 164536949 837193075 669006973 952514186 447664852 332053102 902147924 558490643 580646556 867510833 210241825 127864444 322376345 872738762 231737900 903494540 580353252 595883310 516501806 440212355 560869669 969171733 558228494 569843303 535242670 712146079 238528895 197688915 212228488 108881280 633413985 989792607 331447411 116444532 314995080 954841449 141118475 339264376 432560433 747353979 389313625 691636286 866583992 757727843 839699662 870343299 363614467 544232264 315926635 945824518 861549468 620347477 598864791 733054726 961491211 616716576 419533272 835927258 489691562 829461814 354047770 577522444 948839761 811947679 880815324 111027682 668245807 553354670 529052337 982422938 107497449 396524394 611332691 499884513 884706487 778417368 355538377 193844022 546814134 666569249 710113998 897093589 601703750 781161726 627537488 761946654 657947841 642220219 882085466 938753131 204617501 229000463 511308302 309500065 875192569 695599119 252478509 871402651 215324383 470901033 688376249 213818271 503270771 485552088 125082488 685351201 226593670 718563355 900815972 229589736 669901889 427609512 185909141 664169206 640793986 105593570 871139478 771502146 794509461 672035431 123719298 247870293 838110979 936969101 973358106 618334867 984229792 658148190 503957435 535568091 216895104 771366770 930513777 620314199 534511115 850078981 639626615 246467803 633473737 351537018 570025284 301648810 273384274 716092611 870314287 468430858 124479967 754310812 696974903 846676065 860120969 391993034 994248155 173769202 632519698 941796158 388341556 942707851 414014578 900920085 993264322 505385041 981232304 237356843 675483485 185859253 848421244 559877841 466274753 624258936 951677707 616238461 758244144 946056512 167666247 813902257 572578099 791709568 969306999 307070963 791495165 541853266 455312303 651138459 579322382 152237098 443257132 562868361 794468804 601415250 109493446 135007416 731640953 761180755 761567361 448099083 647133757 484318276 282095795 471154020 635008532 885594913 721941946 274413727 479652460 175399217 545822940 861978926 801467359 780589130 424864106 359244428 823925183 742071633 203088919 934249102 641682034 424968251 477441288 662693057 937442527 718906363 703559998 627191650 791603392 292428776 222665611 874500179 227918931 280343105 377730968 160492754 795135929 568236362 841321854 985699540 125028090 376645901 549605412 821379580 123302095 537940309 605970441 212022066 356484119 267081478 401007195 905510379 391377841 155627608 111729299 164218205 600202829 974380073 743260619 112966659 891078602 388292294 530386125 702793083 840139060 192456813 812303631 384094969 756531285 909076367 620297276 665766078 777608903 991656193 732611556 127223496 667959285 929500279 836604015 791070054 647070760 131742853 275879392 734214178 878975056 217871436 903791800 333524689 981993678 358344654 963070978 751799341 729367219 483751744 841942262 342412947 468142109 336087423 673721900 483008226 350377431 302282357 351719753 578738034 350385748 389399430 380548581 441587940 850952786 651068995 308454205 918463350 440555949 399308972 838603576 130270855 193216161 492383202 447754156 530097075 510631996 285659613 394102238 537874979 775908620 626187179 455504553 231791874 441941406 898673785 109532012 234674795 473060729 746942856 559332416 989955285 245779004 245359657 456928112 469847339 587501602 544705160 494205343 369745495 595528454 732583829 764758351 453983839 112061691 489020106 351168118 556941984 537874784 751369256 897842114 114170977 241500084 709062769 855893117 305524298 646974733 820727397 840576061 939134834 516744377 410314134 896985541 928547091 913511277 693551779 500919642 205082932 173522427 809737079 467728912 493534141 386379053 848308685 342121883 831458220 580948331 227925111 251294451 448088667 600535392 969634308 684600785 989060653 585712800 752881062 212650889 419566336 325574416 955391269 312453381 348065940 319820688 924968319 546380472 611476416 419900465 762533535 665635236 168382940 500146801 139915178 202296439 434454949 570756956 830336211 499736993 749626627 261452057 652810623 328129263 866379441 801855593 936975875 811673585 566687653 362121759 535736136 257888515 737052097 473529659 259217756 364610143 343298599 731987124 899811604 991049571 615453317 804629398 210322683 383032223 556805008 135816716 873581473 146480891 360534347 117643166 395284951 766975490 254182013 880175713 887633200 639714414 958396319 788168868 403780995 995551649 222105525 977251404 815732091 851029985 399890490 681468897 211815152 434882343 431729838 169381874 894347008 730822281 491263237 510880295 623278657 836700621 115075193 270271794 356335022 269387452 791515543 424030920 571210736 591434780 740773382 695165294 257188137 232786155 889858100 471359871 626655465 497641503 244372569 477691211 927132960 942285621 320063129 561690437 489526548 172023035 104810908 426478806 245893773 611990602 551981084 509907303 644407638 657787806 499374769 120705370 379611457 534930905 245655876 492223067 902796583 247226225 306818463 945623253 883419115 612211434 849771018 504701997 792257320 526060896 796243888 350128737 509992610 595988362 235396777 563932386 720754278 371644141 566034873 108814007 724168187 716162719 631114005 671504685 670620205 458250505 833214853 472620321 168207204 628836932 903720687 455375370 615652213 747013320 923671674 800472140 835006459 387314386 724984430 919311901 754202137 568653612 504184631 818880018 537802960 955214442 746881869 199925094 362393296 192573827 649336898 682864216 896486453 727658282 590120572 228114786 469491089 897686280 970020649 899181916 448229539 990379632 651851024 832384863 437050976 784425935 742316691 446051391 974452778 525388787 577975368 627528290 980857506 701719372 529230530 510721082 790561525 678216938 900057389 799395315 262466521 122268337 860953731 430805561 401273788 742941767 551040610 509241549 417604208 932509363 171891428 272980454 127686747 990812976 649863992 999553249 495108924 768983855 691900515 570358813 521666287 196123194 684551246 962021475 221341512 636225419 757826871 209779000 313718951 146162142 415018490 432717299 185405401 297099010 290036760 889600339 914093026 434464948 667582870 938509238 331584836 865306337 621408795 930373728 322973943 855491802 220662022 277572869 158073181 530150709 930792481 749544817 148718499 425462786 199290808 518330764 290923854 652525681 513399586 754461011 278902952 187541463 772008361 969294634 476264651 671971092 763331441 163493229 582371938 983783901 234071205 738229103 508822314 834722540 365517104 643292760 602233426 795008040 540520783 666059786 617676659 630879486 582724960 523291047 939497912 964094989 193219394 697903652 591281055 260091094 737855045 568384583 223084413 277699106 422021241 340822404 882871467 373184697 344899202 423939477 253071528 706619700 798794769 592709055 289524194 690806999 360659329 587513909 962616475 809459060 712297261 216167855 289644650 394973277 810638238 249107506 801566672 402529545 472331497 249807492 134679350 626469826 734549956 436726813 756973382 130392706 528302464 418696807 846029529 398698759 929955476 984117624 512473495 114691779 327210924 535443996 431088528 152324908 687564294 223327467 407769593 145950001 876297399 622482457 374541034 868302857 444756649 433143045 855284285 668300491 224605212 445167497 547130927 606749283 983540222 574384302 395699149 167751493 286191169 680408657 584438408 975575811 755105920 255043208 922711384 615166198 509536489 217807610 228371811 261146001 836339439 993279783 982833797 328474560 426024039 825104586 678477757 902352945 869630216 386760676 752975177 509225958 438874193 380518098 703467946 637636776 945392232 829863779 717129070 946815978 652177244 397367817 833744758 944044742 406833674 604633985 492203193 135259181 956048267 252428215 988410670 630694170 257689567 631935046 204258786 520799424 616766367 495686147 752206189 484040969 482379610 293879072 262293465 849145920 771246706 678607048 127367437 981670252 763988623 992501089 292199230 691512639 622756130 231941856 464035653 587404353 525599813 232375052 234691054 920205489 129488427 600908323 868165616 397204486 198785594 857758978 843649423 401290035 623987208 223312859 238990999 930908151 601071182 506230162 371018624 311892555 413201602 966134344 321420048 498790439 359547919 437538704 554124418 256700764 554523416 448165827 301413972 313708427 980204706 977608100 129159515 531074398 153983272 776489927 130591803 399948464 345144110 155438877 120726928 594495710 227098330 276855902 772614112 304260739 155159023 456443901 226605776 715388307 626985397 297863140 355886952 650639317 195752432 735622903 455793691 639290070 335242417 202922485 849798213 958604385 666406867 190366383 609520371 831470096 921836176 477517332 557568635 784442187 749562059 725028467 787624245 576897889 782596468 393133010 770193568 250481201 248116726 934377584 313539630 637501935 531560884 611051868 327861795 693842479 974669273 451761176 515396197 188407638 304764493 862133677 599677940 263510169 664706294 146974877 958656844 194686839 563287741 566041968 363807491 224934090 465832242 332170330 450840937 864303943 486882058 418026220 478657830 430470146 122267014 133051898 461386459 219009427 336801659 796860366 827519082 723089373 583774839 291250929 989264268 300214859 866008901 294595578 717716500 926878628 713727711 828295640 380632597 432671878 104084732 618384196 537223073 495415987 324973229 514601402 851708397 113388435 616821333 241516738 146608085 260930077 145097142 338221631 885394557 114379368 130266454 700148444 620161469 770174617 673023187 565686116 151625129 371090556 703926881 507574680 429616687 407986841 845495390 504682814 147063863 776016216 761229492 571541017 785415066 256432994 984070422 637757515 109301304 383474498 888358075 963561960 378956612 557004085 623689380 299125861 571660867 656750368 375715814 222280826 354730676 146351991 162711920 661394459 145034974 614579606 411230241 156566889 127099778 255315146 762746036 375069402 262394383 161830134 564494185 428381440 110165377 183554696 964522482 774590819 848098574 605124325 378047935 823748231 774286348 435952954 266599102 930779110 395222916 889688655 672722033 773253644 944652224 310730619 671326536 460077649 709632035 490515592 358508257 395964199 394962515 463041237 558279760 482567402 295518806 523073144 178159491 230841757 339547909 326167525 301231797 686310443 309595492 866734688 877363717 313287971 235297951 931875799 921170629 884793592 886297168 359706745 390486849 171744871 756242936 383158940 421128120 702565256 757254295 968089530 706759484 102010557 135531943 812239125 820191023 709363271 859330036 177155741 141457125 737579678 603628354 945661937 864228261 488304344 748521232 731974614 155039744 987994918 463530016 682387682 710601167 288101892 165747274 590283551 564681197 803476082 313139831 285179147 871756639 298663276 481764287 321644913 350443756 485861898 478623419 406416674 831815002 666705630 890114183 927712459 788030330 132049166 930519278 556848470 183045590 210300240 499882842 420145646 544228428 183789427 805860811 563820485 291038084 131155525 425317492 860387985 793234798 663525401 899079526 605516451 396348618 175361024 478810586 887189210 169073110 958804524 216132926 164665671 504122937 873976366 207693308 694291014 294163628 576892396 716221487 526133167 849317341 449090694 625581908 313204694 861828446 223438460 580250481 535638009 259172836 810577258 632455784 682805549 593263641 197213457 278250964 553476607 384594774 622357536 770524499 273636429 274570261 668200490 621611606 305248257 995449926 861021942 173863816 333053644 656679599 543347976 331570249 457978102 415640276 290388601 454294147 103927194 375161067 478979276 824144144 128064274 663594968 935212313 149705842 351639962 317062463 586607648 888735646 620228204 916480018 274394354 146238115 943379099 501641296 891322854 374066430 966288220 472883967 206137111 190522674 130511054 200934381 304801506 419617890 310453117 223683331 568486341 840529170 909864027 348740077 995136930 734962812 940655856 951544645 204359049 885273464 274896475 892686931 903851185 332215211 239887923 316117059 597769834 269328356 342935431 336483211 364366985 353097409 653302738 415792564 311708153 301920288 325326819 522659776 356477791 501754290 356882208 328663419 667154703 833980098 370828187 319910450 827310663 658840224 133859828 620977209 206509273 575188750 167726769 774072005 801874347 699608770 201578799 487502932 483285729 240443542 800520789 129288294 198417503 130501170 933904414 529916532 370436614 223431861 736554062 318367772 943870956 600701915 842958980 268918611 169264053 677265598 192222237 285153708 595636541 115943576 277186956 735118621 623191347 469173516 257471048 319642227 677062715 446884917 944264553 691237959 380334070 508931261 630006780 801995104 306081902 992572560 614803031 551999677 455731277 526711299 247079543 574964198 714633760 799341083 180490645 932646479 420874913 262935893 192924115 551289284 208978793 602828587 908195700 824929152 743534858 972469757 786242114 717571323 823913730 374856300 208343278 329883121 104215642 223344492 247044162 573989613 476746927 801063074 774114225 454642907 437155913 117686585 153193732 702431448 517537695 216409766 957218253 179428369 352142768 444034737 806828395 679140527 241500955 403388331 504349047 143194264 984414417 805717781 383393528 505103042 565130997 305817364 214934761 694832174 832620220 121536078 597082426 546594009 225343884 808171560 472110315 241217891 232460946 638812663 932111046 577698855 697378487 710695301 653069198 595278315 685976791 739853109 195753042 142523293 708985154 896268441 828380302 930933619 763550100 520894910 433977794 937625242 335750863 180437891 816371104 185794913 874961562 751273379 783137495 903155399 712173166 139534843 422964913 388704655 268353014 126110250 617529187 919587943 224581336 597821574 610442018 142883661 110518924 625634126 649079316 374566977 199659981 247586476 192462176 462629092 835951925 577017966 875274987 447526165 145433816 850978771 860735306 832433688 382054417 557300874 305401261 884671748 360647579 950305825 162963891 678659919 272860364 562948371 149673577 580731693 382319197 841997640 676825009 715927744 702928165 292960305 625751709 543802073 974957085 112488685 436047018 878031572 270850450 143638869 744294385 487279257 647044056 873601726 107427714 635978348 876290922 582550223 293692594 846864405 216275472 212827412 279610643 598590468 816697811 860766812 957890251 951236150 819003366 170149881 568845748 200122167 408793711 115021157 562403877 516405060 522371239 372537009 482348181 785225938 495928474 410772516 190603781 237523462 549340032 691869066 413836287 830021363 449672785 941584643 439279641 952382061 428726218 849071601 597590198 737620474 418452062 688798172 158739183 241260500 374560363 854708268 340878979 778305459 968296929 659328394 690599303 583339290 919086615 441095997 649131013 539733091 538196945 411320651 882743718 178864390 105335448 652692425 896646308 513170423 897495876 923809813 938221990 296197122 237977724 486493136 293602081 435160090 428209206 787364263 770684798 518006284 425135303 166520297 286702786 605847242 171940857 662322697 451891288 901365966 477049623 489828666 395855042 578497421 249198895 713900765 619854241 156516971 907137167 531718211 766182715 151729236 283054807 489803605 686339985 910530118 532698282 100184612 851302456 983983168 538875805 151478048 748343470 334839038 991992453 975489892 680188411 994790332 340592074 919580416 958878100 236485711 291048167 941739808 801514202 153345050 141678366 919003363 211024233 324565396 196437884 546521822 968315217 420891030 132545750 395384060 377235078 113508250 255045008 838506448 925737833 394720207 193866860 640210412 421135024 696195563 193906330 327829155 906803281 218348092 597134050 532879107 735077106 347112583 442796587 375163330 114910362 365320707 970593037 154475884 779507776 630431826 814364444 476610985 976538101 607391911 234273749 223240137 425554044 433915868 526848585 849694967 655271023 106723303 308941220 627817639 660104168 182775928 399876755 811917206 686448187 454335968 918967782 904710700 244957944 107035405 378008601 782679670 679788784 962844951 773990119 201149986 199434124 319556276 998773740 250630705 726187611 665076254 178545133 400065621 192451057 981086916 636935904 995525599 668654210 403335075 679440650 790599673 637528552 240134380 426088081 945168458 240261330 528827451 292189343 961286570 281111885 462225677 660083105 279032775 888941801 469915265 468014055 438724618 122155763 693499223 935303583 332240713 774324658 783801013 731639235 240533480 539219720 647246377 346457729 665101024 451588455 994835551 231218421 647136458 517324355 746887537 405723224 568984634 313482929 750246420 968020162 607138428 130339686 620049844 324391253 651085166 900858249 205120354 920733186 152365529 477657355 916622334 601963841 836413597 931197676 205088832 723372865 401659587 860819699 563407674 681970284 727296144 510780587 263181115 888719789 379272082 686414320 271906480 258758511 769748949 466220253 462362296 554968042 176418288 436383649 928585731 560955956 109926230 587215050 299049585 317300583 256179318 372985738 860949684 852661746 757574766 339153102 227463876 211455499 433012345 253404322 285036583 867927313 314277918 764940024 104240833 769725049 284794228 518767233 763858352 250886552 756302311 541678670 114437070 163989467 733242631 812135575 511201243 586591601 386570558 264275362 880733348 890343085 915637305 894861435 861695673 811116547 960664990 833568259 679465592 921282206 343420016 280520653 301506569 471291307 182912683 260786754 423311381 883276871 791007921 282328648 523845967 325427110 810030685 226381025 111089107 563420815 388489638 106675293 625667910 640026648 311607459 541106400 189570896 413838474 145060302 689080873 490842600 433805089 451542874 677570511 232394926 580496842 858590739 274286643 170510396 897970886 382362137 375593487 637817923 521292014 951983121 924393767 457819087 531882168 311565323 672932759 910358230 813349005 346263462 625964650 241002107 104719842 274844612 341361060 625438681 424165329 674333300 131352262 575438759 884095037 696763755 225248344 407354494 713840004 471896005 311307228 841133682 569629123 879812806 510784601 975960403 255762412 468785200 650996925 544907567 103689563 361776939 217324589 126274295 422444074 287740693 634765594 332256451 454858283 286306652 392959965 991540676 507046138 672280011 705173285 730842290 642862507 770298533 759125045 170995309 785023127 431460701 274692883 608424786 180962325 508766920 541019859 286348485 501650547 298267857 637896915 950297183 935625242 132536412 425658620 460671347 438892179 859098857 404498558 714721667 955665110 863043209 712166960 857336645 399192547 970738200 156743114 927489631 788860564 817503877 172397537 194508060 693155820 585187639 105538401 621719634 119524543 432279035 330956051 257604401 801270594 983817898 665775162 619928884 322298793 431900277 944401791 675111042 676305684 942642434 597684738 780182211 701987185 912259181 230600453 242103033 844226495 107338830 324414387 840063215 478314878 857272912 123786388 845440195 654953700 241382001 752221009 384954874 281542125 378903294 175467846 187664171 157813271 343191586 207160564 863904606 273638678 243980283 644456954 975024735 454955819 293479057 633280280 211336708 401226462 291335211 526604144 245287294 390118480 793395878 854025157 789024326 634155073 357273403 872479413 367643755 905372712 290191724 868276591 626210936 831273664 779940781 861775879 173533591 233999388 920592826 582584231 170591119 542119791 426702828 974071357 402970309 420748702 218809594 518790626 320808090 522342483 973105323 605617309 788981386 176408015 939209664 541969086 381616734 569901194 941857382 195474522 715354993 169025304 266609626 785857772 998474073 386179398 154610806 111945784 946563053 728620875 903225862 603313010 670621240 702570828 971083107 653306864 702992820 972086101 833255273 831429061 953120927 394707597 710183867 166569208 586259579 106927239 653355471 800926553 509307729 905161664 702600348 754997784 377333502 841786988 726071028 567013717 856867160 386418650 891489573 134601474 426803022 785331812 204295945 787968792 500221704 583331493 889268533 156418456 684788139 682771096 839250832 217379774 381072212 291989023 447538385 703106443 399198967 596687644 506391831 897830077 431708452 529853473 491140211 746491403 907012200 129638573 511385519 427125895 173783629 569881742 192594061 548396404 142077663 670292524 885420472 633180097 281138226 575430396 123413746 665613892 972992911 306737164 511464833 460890145 901949761 939113261 662379252 104866915 248205184 725199084 616530903 743279061 877944575 729039332 676912221 683884431 243981435 629169662 141154520 930101852 399817577 785501909 279634842 295743364 114914255 380234377 422253323 319310234 369591478 154502566 626036294 890662015 229507126 461795235 612870666 840517618 842765847 904312206 754977683 176981294 812394922 537236407 720757151 272144580 443019725 456387546 765600348 966509027 413116987 860939286 977429278 379137548 385132974 200861160 634968616 285690356 998993134 207660773 187637918 591623200 775737592 709371951 599814127 486974567 350733491 928226994 852002467 833101544 784770492 328596084 562665599 555996207 562882631 530661181 529098920 200787017 156512746 867971517 527878518 828415959 907282411 200755371 638188900 222802272 297754414 879824334 613709452 977005235 468831622 705895759 436259317 437295485 444821235 797995328 788832423 744192520 117540713 386689180 839736679 121961163 605538087 141383723 628943411 993797348 198042603 959942846 344172836 927863742 513543339 756571020 370467277 112978614 230271503 533615113 932801261 553588205 462312643 540544103 657516937 958281396 301977248 470585700 675453665 211948410 182395057 188111079 838960809 595405021 601365734 184709283 872160415 140402884 279043370 403172249 127096405 198668771 393517818 857630012 795673950 279480480 824064715 628487889 583902791 974913267 220598057 828000623 826452128 812792774 709456780 469526554 442385267 698448484 534188944 950868004 364132697 748058741 504927113 839549202 708405294 399877295 763777868 413371607 493111957 796917752 647594900 536714369 794101003 647134070 525415752 865412835 160745861 329403598 326353432 591350357 399697937 653780012 145214299 986687949 780289380 858423075 878445662 223450670 261786254 974550146 496640657 725812643 825855703 968671093 165746542 715786893 214189928 912734159 494401301 279948737 190245880 639744770 782752426 157244981 956142506 651004935 261027787 745179502 343039010 397714534 360362530 421966389 283378260 379833197 392278664 660578165 726643786 339155736 564281880 842031351 816344104 463342127 522676828 650470441 680327965 936142275 554875015 828275088 908206001 988644476 201893717 600134629 699459251 856733288 194113343 464123014 711368538 133167640 145970337 129006879 918593741 762059727 133916132 318549666 292845614 174265284 100928923 905364826 221239491 683098416 840882850 238248949 608623226 692753670 514486014 634692288 705696748 974394580 563754177 784048731 236037313 417755610 114361642 651648307 450180762 745011084 164617632 114074222 343440020 858576929 764735437 762414102 505658903 650922944 241805844 482468480 105916847 826762390 889727811 769375783 578081068 904700431 534481449 408080947 871485297 729555974 195976472 703072980 820825717 819561497 733125997 864556036 757677015 268159655 919086766 272325384 379036626 807016599 484148451 220243417 651857182 161195300 796333563 292336697 128427562 628885937 617613478 114663030 378660015 679923787 742621674 127732123 995674729 924957684 617426573 244791966 615304499 696697691 873214520 301688504 528563148 275990057 560022726 758520035 798565643 855953781 672280465 494317160 346146020 969291553 646476762 924234708 464407467 190910750 779150699 649538784 440635997 351917294 448977290 935000973 379545162 940045551 834254748 697731213 192364270 136814452 308648669 990129673 577558483 726570155 613666215 365073435 522076839 892077523 937860023 452035816 179547660 690361485 658214737 978613659 930934332 564617610 537495491 244764584 281486603 716038750 664312966 521838463 930486305 763524241 878638727 127918722 605141180 270125589 898928324 689306317 710797441 612548375 640772220 433866062 997208001 799576779 721805901 655809500 837084662 106557714 459973596 765262222 971839136 759716793 314801075 314363168 114679541 510896727 856224633 958664508 493130331 439594839 189406547 266366873 258140962 253450176 443292819 413728116 586348531 634773176 443471917 158715094 210245691 758003751 253969184 787501880 670146300 937732012 312876292 323815237 286008039 758086767 538002103 140240890 418121414 518848030 784656836 392930716 503489866 349850168 793706223 755292940 177215366 600693542 876410465 533192728 503284785 865515917 567700858 441131487 335118085 604005630 864672795 616836185 913333062 486604306 137835870 743474184 241331914 646362082 141201786 581989248 632711025 852862847 650368767 513642644 619983251 330870710 488733012 656441625 478276207 265057458 286960210 816811696 242480392 570241229 924444263 930286138 221647260 197027790 424120514 416687257 883634612 773021744 970688036 749108642 566535666 163493637 785810440 695779152 894363950 147938198 675949395 572810761 252266210 258664885 406030717 938236103 916375127 224302996 586620292 325719885 932478513 289256591 738213162 231887412 559300969 741443892 392952072 864618960 601804192 227852780 450756333 256991293 149587055 359386357 511992787 145860716 575742095 492367917 392758973 143747799 570402431 478133512 823960465 569595312 579704534 134488828 960386672 341738500 840128890 858165396 978893184 861651650 134005007 555333749 708389571 168180675 574792458 403090982 724297140 839603065 289602426 765669385 935250336 734066342 144806382 172027811 229956727 899840262 579096510 922763357 712147486 863444758 591448028 212245917 959768334 459395997 799628044 740133378 498807702 309125694 517645978 343795208 941903129 543800091 647134196 254399487 505318583 688802008 603251202 987423826 256415911 370300911 170097609 509069160 513827399 606209999 799825293 961504125 322671878 412483040 227127187 563676466 379240440 598624060 612535141 543779217 972113693 931816053 565112855 220846640 227730786 452374130 345996790 252585568 374214452 884196323 587043697 473958523 356268744 292227058 990104644 962347745 980237255 136672496 184668010 320348812 132554680 211433037 112750295 196034002 831135711 725569020 974240551 576479637 134523692 620161150 499367844 688456889 128464975 521997837 140026682 278928394 605861629 948480041 636423379 801368377 290310079 760210989 976214977 950603813 982259159 374495858 629893724 687464528 400484931 711506377 140770844 374339335 910531805 337089145 305696569 304352625 493434152 989884040 338269989 228453664 927121570 107292639 858381285 463152649 522636782 404118717 735784439 815737383 971322897 266661551 586334062 601617572 993493075 442617588 566011411 369027733 453118429 136554076 976343113 719902778 763626804 469197961 276450822 495420760 301976014 144335232 896867350 320720679 587110211 951132837 711374491 526037056 171170591 746583760 526344405 544537789 256409246 310696408 140469001 717665470 943387028 860634612 516293504 871996455 448159477 147491830 998941455 389902017 254008589 580955006 759141046 479590075 144943911 446531811 977407373 492455722 973208430 157066278 666327972 327430745 669451419 964720811 895150147 292795871 274848975 658911392 463291023 173624166 727857024 479211092 502083750 100799962 162444394 126737583 100131638 583254482 568623694 676718059 124755105 305451289 496392220 443261293 704900692 376039883 337043738 165454996 320923457 426072523 974931546 185272574 617947785 551767432 310519268 735170117 973922146 999918508 674241847 460824867 522717951 460531649 312519765 839590485 669739599 312444786 185500849 626951810 195698485 908758071 480976514 162478216 416586963 684431979 879074783 594129032 889994688 811230366 122557393 721023787 163185445 631532434 475822469 834554295 868481007 418130293 519441597 870436869 547578081 803474980 593769553 229135645 930521015 842911005 437458704 874827016 662912473 321526075 365681325 891118018 672318045 368284331 947112028 356982291 377813008 780410627 217723182 188938971 250625354 192019386 327351858 525410907 226505450 318586685 280454194 322822015 560661448 235754264 372481373 665895373 897449556 869152767 636659846 821567556 666084316 896470285 548055235 946069538 365335113 389845034 663651230 460913457 451159649 592447428 741334373 829285219 296077644 360818944 954056486 823383676 966304377 268701186 125047437 770339287 244101338 153256382 536200772 858412472 438288306 884581644 591235560 340425858 486194721 285078777 724796482 173543575 483478775 244650014 634772274 453966742 617938200 192751845 322059903 824265401 908354025 189377672 779866249 956219883 402201067 927675223 179129214 827666870 814114337 580372155 821628819 249379092 667045643 520082849 480251768 260718721 206715615 550931936 957883970 536699392 905128437 852806138 910524791 304841008 180108290 686149069 539111443 999436721 378993089 743103300 109114495 335644638 616090885 456443109 136514776 326148087 763642264 214065458 184784586 169762668 706445116 952400106 452175297 186632408 114482540 901629347 584822887 609589552 891914692 282451341 420175682 727795592 891104293 520715881 127014581 638886788 135760920 962337341 431150404 567895734 580998257 616143681 826395645 586156830 305024433 814731510 157109324 879494415 154297516 549432907 152013624 537970111 119642999 602631450 603078477 490429087 869308793 636801780 970520848 525249075 477002600 554427746 660136344 345405605 196353289 654047177 934092123 428440422 251408194 270886039 453106691 952044295 201713175 837507213 224890130 576163942 401163964 341351683 123260879 795120876 563510418 221556473 842365290 739167112 130644009 879571033 614630932 932033740 554003159 673984312 949553164 344483702 315561331 642493365 532803644 468597173 436764673 304353710 361292142 594571233 629720524 951731817 799153238 117444997 808601654 670869125 762030579 136151576 190557565 291095534 974864448 764133503 783623535 487583548 312294858 650343019 942868487 331359492 414035560 348565604 555777356 511983758 969361333 368741467 530182789 419584874 607393384 174526130 358593263 217140549 724219788 380680832 147992406 920488493 438125139 817620875 757406944 267865131 857263541 423787715 672483401 446968851 648345477 204928729 114781429 443795615 120775249 887382549 757733995 356396198 857152846 101502647 229470370 541098922 303125838 362827513 460667525 439537197 466876354 284938951 801112179 383467885 705586107 702748330 235526485 391640990 569651533 548365245 290474979 152388670 599865184 977264497 216346185 387219803 104167538 622350750 349727815 938919284 114274876 597685737 743987543 159496680 758855186 794771615 164263142 839496852 686365788 108008703 936203628 331665951 653450876 504064313 417576897 953446335 522345988 981221123 438072728 989071718 143731017 241085218 814749754 578996412 946395056 957822890 620726903 524978585 104991016 348250842 386395800 484979287 725029789 764629725 253786631 780383879 140909930 161170194 411708989 830206028 671488716 204217284 552658643 916558339 968845916 609783279 192134712 580807119 888504161 239730463 282392555 497549388 888246669 675746811 292785651 243472106 418374301 399541660 917574514 611340598 568793222 251797537 153792434 302806620 713759001 252893482 651320920 607305708 721246317 102866093 125283886 994868932 791831956 878587349 489703441 628573656 342302141 263503308 409635979 991829220 975695904 699752432 293402787 940304638 425786935 600108225 821092238 770047932 413357651 743697984 829254815 380864529 335759110 865763543 551277028 687148271 315231865 877241744 487429038 924454587 237877520 389885471 729226957 200189587 427103588 151603818 589628660 708748827 165000933 100602207 950035051 800539034 187959823 430476319 872734831 666196699 555040564 287233107 758753228 336240752 839043157 656458807 284808422 972031855 507882661 986321605 532659499 821530205 805420714 581221958 483230655 783322485 765609324 615737570 813799942 408931611 339882588 886726301 257469091 398205733 354115797 567843370 239650080 514346390 199909533 542362533 511572152 101676581 605600966 895057560 225552713 226324396 313076207 975961896 719638984 288291933 949883998 371413369 247756887 177492999 599396166 179160656 318361515 552498129 347372562 495875719 316947621 459070521 505005081 410794797 394076853 238843970 415957727 403305412 667219324 782239593 352740335 424191046 387062109 563943012 150006283 349892667 408883902 648101351 431285154 335111967 172743384 125133608 224226946 566534512 283852346 148105761 319206002 962401643 987064274 675026998 679909818 762480571 652929522 488786848 529065010 407468041 434928047 492360607 416261889 177727058 259975081 507033548 827325082 828033786 144131445 316835262 619385160 155215527 151361038 372379982 688818724 821759018 246864535 888014627 538156267 820579410 391804131 652162408 776322948 375051413 659259149 363574961 293156753 892767954 977635019 609760016 565428497 893814732 926311621 480002065 762638089 191436264 718727765 486154410 636767543 378484509 824472055 866413783 916223035 601061558 312461198 428789668 180102422 382189340 193754796 296647379 676337522 820865965 667738826 513062023 718190154 626353123 840564395 987635126 961541249 782438714 938969898 250014087 945701286 776145219 138146748 384207553 103196979 810689823 604354662 377390768 302153297 763390140 390618998 364624585 906046929 127171742 567726147 825154615 371605083 353762623 847962661 126567338 311939113 333040752 773778224 985513661 790089254 187011737 112787223 235740706 878681424 201527797 899532108 297364799 761470366 443701718 147105762 259267759 325678046 106865008 962469187 749394317 675371403 459381324 666104757 430492319 497617806 909122758 525037704 444833516 497111960 444342495 923264668 821527990 393429394 678743196 263923869 670471384 975926900 822524555 349376139 154999813 965231456 432176242 433495257 575592909 242689815 289565811 754114843 478711562 956802041 203214000 909083916 922993725 500870232 897789628 335199422 591291796 643478217 717921408 549808866 412213477 607982763 598682685 720562307 179260581 753003678 124734737 978794664 327467174 739146260 978992048 588485791 756701342 747409754 658606147 336087595 351459703 268792951 181086472 601979677 682019401 961847868 900159960 161138270 387946250 742785620 134746235 155523728 218112965 479910422 997271896 558373818 502869605 652977222 920873752 199876619 702229371 722851365 434196913 822287392 445354661 811185621 545164739 501510912 612079897 787353298 247155190 606956780 158552418 921188387 776580587 392858717 208813227 131561913 418121812 105860876 860973753 274237922 334574954 832176805 877923580 239450810 939792907 955998993 613265913 350922143 474855137 146359416 398561556 122626395 292292040 407090306 553915798 892854446 112264778 408036863 496282009 377569661 448972041 449932840 520223594 890065719 510410209 498954768 550630015 709652991 260040133 582450050 464109363 940038530 347201821 960617517 799302993 645104755 727531390 995770356 174467727 149303083 489009255 602375614 233528754 723009608 768352434 749196290 512357743 977294702 554262291 726897759 721737696 892148417 251057179 427299751 498949435 141263471 400443391 680714485 878876437 450231653 855027658 172769552 953263489 827058644 194302615 555802616 487751335 800828839 895359716 677822693 414809026 198034465 312859067 933165044 773493122 789364709 271609915 595563808 212854965 983930857 562882808 127181698 180547283 406825597 256072958 342558923 610783145 705598973 626896177 726613140 933832198 982534949 355298402 651253441 710565536 592809899 625755910 520303687 482084126 631012652 585385017 169068291 884495990 167340688 845345814 666612529 656039769 964328399 809931714 764750169 343433692 305015361 672451764 885147324 802667119 549468869 325974032 695050171 316598972 184894905 257646065 312441518 362320723 303245293 198469108 518617997 760863646 126097126 931403021 392750404 850336855 176819453 458494737 109082953 962088825 803773100 934542774 400418547 523408570 800575202 380850992 521867702 557764956 791207781 303864279 257638078 325460781 827829726 641337185 527037346 920621691 748342740 396052035 186457124 995444515 922985752 807619717 609504065 394334735 448910898 367232744 270303696 440400642 445383987 835946039 116970120 282137162 559259582 388457188 530656193 198485008 580637405 737990481 154894879 140049889 600021633 725008018 631311035 903037606 320739220 425587153 765608872 921336919 286855521 153940068 406539390 143993321 269906887 652392248 891309417 202765658 577429695 103994287 372169701 868516434 323152627 818222251 232171067 251799366 802553383 785258333 197247289 793794683 269451320 276710896 520916133 490637131 549206420 387798899 467334796 979634047 924887930 888025774 270866435 424015662 258001150 333549062 376116857 718442016 138837062 993242592 391612527 719162738 279721141 821184900 710875493 884282556 454174377 709245957 374033804 538144199 527802468 974740254 910241156 382012545 241488121 673791642 161214752 680493304 789254946 214216393 621148305 716428013 966878758 253117944 335563004 822269772 746114114 196209889 190284743 350724864 608110689 583626785 654365585 158339402 971246898 590165531 167472468 824646177 792976457 982907507 935328039 423928735 991511295 826533315 734826163 157008006 223683586 136226246 103698222 803869654 285878530 247234804 714323143 659538121 591193784 467089254 920194246 934914311 248692991 320330317 448048474 680905801 527455669 987886695 106476867 112711236 302832207 196487987 168194183 847888890 633631279 279736878 995693972 465430008 445547471 749042751 134231142 808937993 718639291 173476998 623357551 928842885 576967308 746197746 389201897 115585723 715962049 559785882 476974359 186796776 273365163 185521593 162009731 148684392 626657582 476502229 511249238 551419392 442552561 443069360 739933171 225601647 903342592 942410211 651211948 682725649 288098592 844594280 611398794 372848948 180503112 790084866 785780013 837638185 517081966 983869527 939673067 512383264 835298306 652375292 397747427 112708693 480469840 661982181 391566552 977787913 803896028 638118590 547782457 932426319 614479225 832706405 983767429 297626907 567075156 346547561 280179192 453203387 227601388 726471289 752613329 887191864 956821371 121869445 668826701 539186586 529031935 434022403 474672285 611726120 317710151 131272397 667056440 371165615 233902669 115204067 225811804 965897919 424648164 341470879 705122238 124048205 469397422 794035833 300967218 934186714 850987734 149039369 342034313 314185302 812841487 546519233 176107939 314084761 478691726 273483860 972817667 774146973 960710736 854215567 623444285 779697476 675486013 985310278 508852085 497542730 711501656 205771317 563274856 538774017 871664738 959432994 240705997 919428398 752922384 903207293 563068233 996960621 332314037 242805204 678811890 835957087 646106585 662581960 192092625 953636414 818539171 308494602 951925493 706130046 337499890 382622081 834721977 693324398 106118461 367223243 765551035 581423343 955165542 267378312 609191941 702673284 511399181 779412584 182299138 367409015 998726053 195571256 985173627 952466076 853556032 872645780 740056248 478272190 930662528 713778169 893901522 940946642 904329406 726893327 805332663 632955596 786530342 261895272 229560977 974828019 208987430 383145484 889312893 389466176 788173791 510081624 890027901 925538935 978763712 818060767 503817121 832648153 899030818 703553200 328124795 423420323 489058067 415891483 776488818 579205450 951432038 249155968 591654621 640326629 171486399 914044678 965608947 505417697 266577839 128307928 879661625 164907380 679111469 493252746 271497619 665262366 461474817 264569187 604349102 694103050 185444113 643311897 728087468 892465097 120622076 913331092 437777002 296262361 249107333 402184031 924211358 704346328 931710484 735166440 356209366 571292917 906575784 993383936 974421244 167158843 893526918 549891089 909427528 778744475 969951058 205567448 296335833 274334446 177141747 264555110 308251990 793872690 312443063 539115585 444934353 892651047 690888990 441069877 211869136 453963394 927579718 422043055 192991189 481395813 953003218 848263507 693810280 103236612 841484928 752578981 209970083 461468364 932282808 660939685 840161684 168396945 744520516 428828807 909921680 224850417 653311581 709600290 802191210 390669932 890853689 313481413 171678090 695467148 968093770 608626748 817965947 488930901 690493238 800428169 909000201 145430019 805982398 591716680 785833565 626362359 382734449 107396428 896825359 140134580 736507815 704834637 142524177 397032602 702136628 617550259 134724520 210721372 168597520 154496147 563802869 519580332 441698115 969446223 180459416 645969518 851472913 926719687 507623032 134716024 597287801 626361598 495689691 387115313 164104728 607892873 618868596 749810860 200276172 487153031 800888383 622947994 589856740 159586143 745427275 164890598 912531063 100452271 770778910 987370581 564912107 340309613 605639479 404000116 104749927 201850849 731297240 400602681 144472933 378796792 365727883 575364828 117673526 848899279 771162930 134026593 290853302 318375959 929046337 645156116 440503957 484309410 475182820 341854466 944887535 407443338 297832308 199439807 988242782 637863381 669485724 682634019 528832027 548089002 912200205 787323489 275241365 794296684 749812069 550086948 790087193 758084729 345244598 697705408 666528733 667594886 904335357 996861573 195879523 225833767 899646378 489373438 879750640 256920942 687013844 578326715 453405581 651475230 264071169 513814438 824212061 928120805 290610822 307032180 125720568 654346305 688426108 605770229 387041997 857009798 271452251 290274372 288348366 237086151 332379286 871229139 811409081 322711986 128508329 589163995 430976977 806742916 809255517 566595112 155949794 201870511 198261795 535435561 969419152 678246289 730965008 569907506 999642916 618851377 727238988 843337206 231491567 920440925 875773838 529789015 548917037 214081488 641725914 971823690 702948920 417448091 922035347 338361260 278729200 776348882 251409220 578221224 623814328 292398745 280527603 299012141 796520238 291866749 544869277 220211025 493756087 136413917 225277407 183724851 861788433 188934849 108139030 447981844 352836302 344132322 628628935 341989786 539672788 340983009 382935723 952782170 180734420 666885448 987285346 619954552 158616812 950322827 256421554 595448274 876941046 620552753 348921842 728050188 374465101 216856516 261326125 486997222 716177862 519884260 308013148 529466511 748670266 236101184 843674286 837872062 466675172 995882147 110598090 688163595 298771177 533953464 975006226 280457664 247809714 479940515 219148440 599701498 791689757 348005434 212176216 236509423 630236653 495465967 160686665 932550874 299824818 260558577 142680697 974070187 385985533 373252106 603139365 857800159 775241653 349654164 540888154 571216273 980718318 359992064 603873217 801335075 284245394 110284729 359825251 224595851 768190835 332282788 271624948 785436643 323510964 238326995 733869319 118997474 907211687 959704651 324499056 220362537 725377050 520165857 871402521 752474371 647898537 419846816 393785660 275028845 568550010 663565956 754896212 191798093 302387319 288659044 354747724 849750428 577209991 776983118 378256773 843804762 388758365 155463555 547217043 582757103 522010627 639628409 323875383 913577337 370423384 215456530 262951482 762822219 498931065 389114385 670431235 450574202 912311235 129942405 764538870 657911124 168172349 408620991 440403263 833766554 155184510 956731409 539964411 376754259 945258119 521338279 329914168 434179548 140548707 135783848 451679338 552395288 514088534 548233642 852846645 159402777 853504237 744375394 258809112 340603146 116322898 646140406 459132426 551737764 851636275 586886446 124053902 154960472 882334435 614734554 218166142 800411578 822002233 956851514 635493923 681728332 985331941 130737678 934233555 212027690 461575752 936344256 369823565 630757801 611200297 563012226 503779554 370445856 173938333 404836843 707222986 128972702 291185542 535294804 670291876 461527710 558118041 306784928 555036232 212057068 450739555 548824262 587828494 986053176 180143090 158418787 797953331 148799909 957273021 511153556 153017239 422958339 903603754 361786990 392727932 922177723 629658995 477897028 579103344 580760526 582466227 245647118 686047700 315721850 907495210 999291020 218891340 762745594 568094072 854608848 365147642 869917063 344502159 546122342 316792595 877602785 813984060 710142801 801286989 658703009 179397499 282143262 137511995 187000869 240597106 844291011 466853733 786502746 473582059 461080313 366079931 986113089 760413750 699746041 370824774 300794988 479724998 478824586 628342486 498546631 463246153 247677875 652158897 585021049 532107976 975965179 997245452 247458761 601149553 328099491 610774714 751612632 409718552 319773531 663018778 117410239 335159484 206035894 312713813 567025310 464908927 582832533 652378506 352015987 938074904 632840021 267116857 558787524 329728979 342789694 509400142 818521678 209610462 364356554 852100967 531766639 636608806 161937102 210692801 425220877 242651339 997835340 391794583 451449115 375270624 985746705 503889063 557621493 640847853 544748073 278572994 346250463 893773990 139266530 709328075 246395909 757537951 280121190 645272524 865640635 346169621 234195155 616619928 320724599 599439741 480111904 748985851 220642422 357113990 106849880 847655907 403683083 340897553 577970614 891995173 584897891 319582820 302799452 265003214 838038589 261201210 826056178 700303427 892100105 125262067 334413065 658268032 609743589 687614984 580905352 944842424 312014308 320314485 607691868 455511531 300131933 274389066 875007058 519127645 907790931 100372764 282340862 426561780 761423475 577881509 979418199 298528711 204511271 195948466 259868013 491646379 952147509 311344035 527151590 577117212 486893283 873043536 489236285 289478556 810190944 497082832 999149918 643469970 922571711 961649177 830920639 891800594 260025113 221634760 453136215 269480232 277504742 583237958 415868985 596762455 182692627 417628012 710451058 422878344 101969272 514172258 229749433 856795545 262152277 213868013 558613808 789159232 534391830 945288407 318327145 999814829 763261725 636661869 160746880 522525727 843739793 145740296 621690246 679815895 923220318 459453515 114861888 382784073 745931016 253456697 553148525 446112614 833883456 211169747 166812214 167807299 215257546 136118012 771889124 277652163 851027591 785626454 301458894 160519325 715568231 502000772 133060448 665517323 977708964 472399507 428297485 284845274 886677304 364628471 158188118 596986843 698882550 362434489 474249004 707056702 904508484 930816389 671134376 497476249 593135569 635325611 696885615 332389052 583015593 578641344 774102574 131124608 844078688 403769170 618550026 907747610 743700146 113752817 952414157 918627797 167478398 973031119 240782885 587789664 761155500 368178692 982032507 318350755 911231300 864811584 844122079 973198302 725950176 490805093 912537738 990315024 806225401 774891236 663189238 796709637 880807890 356532133 926269726 649880562 248550875 659962960 884235548 572320998 189493135 108128123 711984862 779465851 955283400 318549388 178999627 862185846 752652049 232325990 257806674 216924458 145774894 549720341 375631009 529848631 288652644 885177790 439898788 313626449 542581294 322635560 836916501 139340913 459548245 692658611 986117167 917671205 494217171 767890706 151568212 378021389 986574335 452892987 618522089 847416820 838448290 884488748 356383118 939151851 472056106 506184717 902000847 250654671 530344096 126540954 744034485 377670115 598225707 410868022 209260976 269302771 946068861 533573290 871118795 877851572 705831404 105200631 380830558 128530627 514075225 644259428 794009501 807593487 394221815 747429330 247353824 930276971 187101161 229161332 806951634 408572659 528932061 152752989 204562921 758483128 992217597 927842904 132457086 279390635 926650396 328275967 489740969 419817876 298793293 462568109 706891698 432400498 553193012 873979282 808038361 876341078 370186231 865900233 164063346 967533386 131951449 192664628 423708377 366063377 120432018 725236651 828457718 888187903 909564136 340689609 159042976 471734271 928641308 160838183 217323296 484747428 831054187 116185024 978667170 527525693 825387792 358140580 883687838 511614215 268053654 413318255 211911319 164332021 272355330 949950638 542390846 349199375 741797383 663199707 140996974 800408017 629322901 696578394 450927591 749493793 466798159 129908623 360460340 974125688 104287584 570200044 272594835 223907230 356437427 124175780 469996850 448888668 824618765 353574421 814580614 427333063 829956841 465537857 836850957 332728366 745057918 719540045 293312632 644376504 243478621 508959449 346818936 158389949 795245377 995190534 809659410 493066092 793879181 919918596 196710952 747281698 674102446 282105829 670751693 194049865 247891332 266701200 829919237 775732392 911280908 358723553 877926124 976182167 960529232 736586575 390769127 188729752 294590398 815747702 118983731 655234567 340493981 642446151 791512580 179666902 206278574 895791625 260681057 981396115 506129184 189396550 865040742 796994732 998994286 400804780 816499477 937241363 240504474 665784573 495119496 961571682 908266966 795409178 269364703 441974004 933986939 247272549 348000527 373317381 743799393 976806917 598595245 637810733 850053081 247423790 821848122 921706257 265968682 812296333 226207184 542131749 731462218 368488238 623917552 722422557 782576653 248830720 214001388 449902907 745214681 142018219 448731214 969898771 231478995 162761234 399718122 723022642 105646852 867792087 230058061 414118660 130254467 645856033 378227066 200699559 428199050 676963028 138917778 366998568 575221089 244340838 708195639 641624029 435876596 956250388 991651880 119841141 775688483 179771050 388940761 120771683 420164081 757234009 779541278 518738863 619127943 240517869 224859431 353474587 328291380 376272032 649632750 664295968 491753322 108256951 356169664 853218925 376854175 608245586 965839393 565070328 521378455 156157727 729121200 420742089 812767460 653515027 191711562 209956194 597589856 858436332 756955592 405068803 665790696 422977873 672214753 644385853 505376928 517137074 376982394 920208202 542696297 642899129 910277367 319356616 241609170 872603182 242131649 387799357 608478050 349571598 721570382 100915714 622883030 759532908 716438821 552495878 613102292 594604141 562555626 458378164 168023457 179864548 481755766 156701212 133036459 976507924 438958532 546783602 648116299 768282018 649104895 353142570 733907750 687359333 522964613 981232584 452254563 637885208 257731753 960723906 102337228 775759381 544043228 964927412 887809079 445008440 310882916 951861858 285509456 127489219 811489866 557567353 987322945 659107216 852420453 602779014 738220246 305891621 500506532 535785852 690962105 898129451 265873798 109562990 305092594 648972104 799912325 811566634 825845464 633787978 377055453 932631783 301360488 388234397 975524737 971350673 450737970 233440646 691918511 414477431 890529865 941675761 145080421 611631057 546342714 735584406 279121971 148652983 756874001 823725698 682105481 897494061 842183966 431373769 569592897 163703601 363662247 504594292 926950331 210064444 337154511 626261213 476370970 227548007 445899965 862495291 869550335 717699831 355251593 108782329 681833544 707438874 979487283 285869975 278341722 806623869 110495918 785279884 366216200 336607533 580878286 460036231 970062804 991293290 332496557 113924351 775957070 196831813 624216211 266672485 669788762 336059946 203825693 927548577 413467670 144393352 453487434 118994498 821649771 624545759 607207618 978503739 525069913 570012288 306838636 682766017 629948530 740389293 121897005 721265986 402108014 429941666 461899263 938376238 538754393 310331614 328013886 141241648 937571709 324437584 174884494 750370915 116116597 175222644 300972713 331228011 201809366 927559306 108126793 370254890 568072726 821719938 289330521 837019940 371736050 825764924 936486057 291657661 563620988 443536534 768329038 553193983 901696545 724366712 690655925 689205991 243227178 775900980 877625961 957554627 768288074 493728243 730248819 853394330 443509664 345575942 606198066 792017219 600664374 656707794 337672664 660351565 566536825 274106854 497011041 732347041 649627066 802204410 377810831 613509518 217739904 422900337 314003096 386993231 481968224 590999883 936427441 780624178 154692920 169200260 477904162 833420868 791652019 528194083 216335976 116558665 290999203 348380100 634771130 882524221 781947913 688729277 988750980 561629346 416286642 437202929 490603339 258146426 286419606 215091506 993188005 361355937 213880520 915468546 782520662 795252680 316785644 638537993 148828898 884175640 414825336 194317307 623132949 667599045 895408173 304622946 604511270 792345947 598263513 156674748 643936675 554025074 297089976 521553209 721613392 664583727 787688902 360499889 751704689 796796836 561211760 833024318 953325439 976163875 305732901 212814176 840714620 169624794 734989126 869070949 638029220 560914899 506455425 922811940 758248449 230959453 800905222 328211477 640663181 970972225 417530246 355270705 525453612 834723284 225603629 539936281 226522092 320698466 906613630 748425798 623386368 203651361 867428474 891919858 963429350 994576771 698526850 820504574 226978077 743158169 513169056 525883570 868739674 435377956 995524982 222572098 497471349 596596508 254031609 285241881 915151497 780341292 173724614 285200670 760679474 315718497 709478438 669234895 473659242 386583265 439838038 808296580 260337577 799333556 873601159 640669992 768144225 199280139 918908859 309975222 466127348 230635177 464051435 107006565 240082387 612290958 681202193 866342150 736158098 898111174 139610424 773203577 178795208 107905633 687163335 406120069 320896387 734517189 826508043 692898514 787249268 922620048 222067037 848863693 691604845 373022194 705300868 749764568 521909669 800264191 559879966 760939418 700385796 911845477 535128654 830117330 755518388 926104687 594818967 788497102 636061563 693051062 737034080 293327360 976067154 850919800 443042019 396566432 334739171 697056042 128191765 269012328 756686525 275882409 480118888 476736005 106691142 862304285 743524550 556221120 860949551 789872724 436777138 657076556 399663000 404021272 758263268 398795687 648082547 398790625 753117883 473789471 350800467 817684677 902085268 209899733 345058574 544536625 459872388 407497381 116062528 992234608 208755719 838927744 129308525 609803879 142846729 256522532 900918974 289410597 782567751 457836111 626710454 380251263 732937361 712517954 975439623 504400256 730466129 471631676 104568359 566490093 705937208 125391478 968857516 953196030 741599403 761303883 981041555 908230444 116330309 576068746 955429627 707326590 753568717 589071991 802495837 286648469 874286595 862686172 323546010 286058275 647438635 523988740 359982512 628549114 451472039 838441951 856543846 533667177 676320096 206072261 460117733 137337741 213617823 424548727 923124986 461807953 546061560 970908286 508094067 617231471 184015162 287336607 332055437 852605357 144218064 141027172 930817199 734408753 352556954 460642997 409509952 184319934 930774125 186062039 880146547 499979925 435318652 183931623 984107965 156008261 984190025 219741895 608133371 799881216 519026059 360638918 842865208 676660353 942137229 894162369 396065980 626916821 213587307 227194013 346382705 737219783 840951882 670323688 405309491 913075222 764601793 934555511 719856432 797651788 171095319 933497947 247097794 344930222 897681758 820045700 113234601 834896396 131416662 570343920 305660215 634784549 802452093 607126220 229507087 723561636 248952895 850441676 535058105 428697868 862943637 670761100 558014568 444595743 850247735 882524219 626873790 422899098 206845011 100629051 783898694 848615727 966139486 380534764 122640406 133725080 846767957 897675753 716915646 737321185 359685241 956139725 734450636 941854131 412644893 142280792 162486488 849227270 296877741 170869767 884862660 837979749 276321487 595464395 896957125 675738022 763440479 118121583 341086675 198202919 958976938 109292605 229607512 919262304 492901669 654574499 393352066 964381803 775516339 964944723 535370533 645382821 585847481 998128344 596729354 851714667 341015723 336024302 429299482 249687935 512897403 661185354 388600912 656283987 369834835 641508882 472458868 563790406 246323089 752206878 655688116 599065327 114455582 201134565 321087560 695153495 325273158 940411797 631529593 852385986 879721345 441786253 657079835 251559793 450225281 525078089 385498321 648628166 506929810 449692889 350370496 302735072 829679660 984865223 876420373 921601355 850911939 545437542 452155649 632086322 653813515 307531389 614928208 918605759 734888552 716117105 436262561 925783666 587033868 834475394 104856791 375298175 357479226 105146103 994489639 156030357 539399500 526236127 626421745 578617093 732358746 867073990 293558548 324623926 782593001 782553722 517914213 654590644 213924379 747199843 299903796 507129535 672260281 386371838 114023202 856439756 779054401 270745838 919100382 850050895 989594207 594915483 720350573 656671505 436650095 139877852 739055866 384349270 195731873 318884302 863677987 297518955 700007761 535256701 851353336 567262700 734319324 832300341 458769220 429888088 173143443 835678056 770472101 735934227 669310869 294007109 678086064 973735220 234354565 381279252 236341617 229136710 538168553 703156064 726618413 915341652 918019373 355387740 859080340 484043023 732466062 316972562 663062820 910508265 402355687 917800287 557759145 206691237 952368423 181432291 760742122 778114820 570812266 798395100 530275962 700208255 787846460 672162885 380888969 391005531 120643743 455270259 693293178 973878768 578379981 418288785 601242117 506328292 205514352 724940427 711317460 493062559 849008515 231248720 276507933 228637152 519985127 266507029 289828768 777499998 358227478 654464148 286777892 392864146 858151102 197686005 754447053 879436495 762899542 259718190 714077852 408663078 931021012 538736617 577038130 945929817 359794389 207980154 169712793 319349080 190076210 868078456 890384539 618902698 634062734 950235493 154523370 292909806 134944565 378897210 972203801 146560007 960684234 388800586 725915378 609025367 800298123 293241362 794862696 483992380 816314891 948182220 952055002 167682060 511976560 208528206 696190268 265725772 408891320 258674061 210190943 497589417 844198717 591552021 436815666 941180746 390948130 136153270 390136308 920308775 348990806 251053687 335632362 283873351 365341563 939192699 708951267 751656730 712047745 357437384 508138012 714014263 401585236 614160850 223948127 908834290 446068494 170273426 373327979 713994082 654237782 341800014 249278733 678478946 239926141 646979160 830762851 528362562 201952513 281836684 286765354 592989840 950077313 821800615 121060517 175461733 724717653 273528467 885673647 946883191 423156495 138213087 872978812 653735180 202441880 354675202 793940483 641139223 863468386 633647498 327110828 432787732 827753967 353445680 763227280 704773590 907337279 953823384 238732165 696149861 111487917 437679355 996777210 487308840 295295625 667111737 419221712 761643030 764383220 624961143 181712857 943981806 196705021 547612797 939030814 557523609 186553231 900977223 935617615 655356494 519954764 815800462 550618870 542917462 972034419 600247058 314419485 609800704 415313539 194383169 268503116 588151593 614027246 117397643 709841208 562190820 796768308 326813305 971596841 762362948 519066635 685698866 944653587 862755635 538972102 654931634 154746839 356933676 335514224 733388005 697127302 851725382 203076551 490636211 999327664 101870095 174187695 344165797 175085839 817749459 562596912 249490038 872948092 458708554 306614954 535767050 203929076 775336912 173191546 793932225 854571835 346017234 301906824 849139684 716809571 467148782 726282684 834547458 572421558 539058179 935774674 806703314 370942484 293791072 202359340 863524136 955175192 302312478 708835387 989581923 487748239 757632343 392307120 437689357 352901136 142673624 844706082 470670982 393335745 320917005 821733044 205022318 314523622 904483682 397065873 158671570 792226831 250226942 587816992 105186459 766719497 412868235 387672128 915009597 461299400 805498981 766244802 924507798 322224601 362960578 268022137 667130263 436707344 784809451 474037230 451764143 541672293 260744896 519813043 606219262 521564796 586764529 940580922 951544671 612819111 714157109 218943945 235058720 673534524 517830429 861829090 928154253 807235340 683259825 490978116 522571109 733380782 116158154 175051476 890442643 774807276 625880862 905040387 244853658 632447386 195775712 531190739 146663560 403609896 519891060 843262723 749053616 563982837 212648845 791879257 997358283 613229086 915188350 973769918 147750083 899854997 336801230 460326006 199683067 806015631 776782372 580619076 797623947 826596758 889633211 903673133 547313527 732328508 362906415 829837664 813241945 519178207 113630492 990126418 800940361 246156146 216306846 638215161 362603334 874584847 361841926 609528271 818018478 661429925 251662166 374248140 500379969 211065023 604264147 201602654 191048527 426173763 556296358 390567229 602929441 321521201 382127667 305430693 583886409 376388592 854287387 919092268 503696059 874787086 743952212 776850255 260011740 449431378 738592927 436939382 745307786 827807145 751849523 264874375 894207078 939466720 115158388 714345847 578814403 806727839 191547370 862101023 111823660 527133489 451008377 288358960 883448089 915189154 993884402 341819827 405354146 617002980 619167582 637232999 413900755 319483844 724213268 966986024 103455216 897217911 176093467 362794089 611468503 443161063 731736782 220630462 401429956 584790434 328744298 292425943 632821578 561030867 391054595 790393650 469777111 868560594 230418189 779696253 809220888 517126355 127318384 429509900 132063998 714828140 438049388 324006320 226316144 141365111 518813252 453374038 607674089 184135289 924830548 709274028 839624851 444144886 310204388 781817231 156151984 207114379 680021467 610471720 378374933 542281806 642709790 442365296 197695630 213343896 206435711 235654162 475863199 661078193 655017821 310425292 542256613 703567236 766171389 526387228 850549890 126015988 608029309 793287205 628640837 615978995 133448356 694826279 632826378 942166958 944182159 684563035 313281813 934992593 927626656 325137709 508317312 869310587 735086033 868032028 684189100 757516187 991880547 139822118 924937562 548334460 910450817 915045032 449460136 756764132 668416392 883768732 174422689 996346711 876814094 855549546 287447934 183944913 423043177 134585724 608095888 238096980 387385421 777313519 225825551 608239013 971508462 195444744 362189589 661511107 284178227 854886948 421469588 678601661 821527255 444604585 921562205 863288447 181102636 811150721 563081840 426831718 519869109 298654497 712198902 739539290 816189220 743314938 977111731 904503480 143998732 167273277 518718310 798401896 498313209 480538282 245502894 370625957 430711869 253135934 799665016 655807248 186859873 286047548 880347680 933716595 646659563 690543791 570953714 621068186 284488508 748098404 909993540 659994310 563609538 121498924 751345552 799212117 138409326 122157866 823685944 954465547 716772722 693182288 531360153 149386279 754301911 834191455 336280706 681707896 278775332 628339525 857557915 486065139 626021878 551781176 447120392 269933294 965077989 780750372 671975066 312565557 202799728 198632423 295849465 436042200 653533160 696962477 956948480 808502377 773672216 643677891 456212570 748086342 196419904 256508630 179657708 944365873 880480026 272588545 879196126 696323167 224646683 672252810 738805046 797780975 261259149 723576236 607906691 924758461 616757119 882373465 997623605 262482348 468156170 804681811 737562815 567350209 809766636 266128084 125504903 848204246 357741695 355737757 269459396 906634063 660297034 619391790 443337347 691657041 733553501 706746575 649934955 315953185 303888891 159919643 729517404 554657680 361074304 202897465 869234720 114742284 547602293 930224025 495874307 785627341 374045062 204103454 865334186 602677049 744111692 597308940 264103974 185233418 915138978 559395464 401935469 906023812 233903660 271786183 965749035 937674155 493952142 944527874 344511837 520928926 875043505 988853873 144945393 315963423 475389649 404496834 466814627 535929372 516374858 802156152 564785654 572126759 871786607 888822099 934548407 277237183 439044962 603811923 904307057 386573994 995235877 285814771 196350423 932391135 840880928 877961015 177931612 945972368 465915623 405653644 159979992 635785195 108558219 571402034 283760446 268820201 415844414 827677333 840759353 501791364 278929084 550608481 472271169 162649636 931950451 888557319 558448111 984025755 968156601 890569758 622792518 960874353 784816736 682667287 394252596 303836180 831606894 858830368 976234037 619603093 849437010 642950819 501505087 562193348 299074166 592279389 646855795 601632722 828234674 168697059 299412487 138573086 987826523 440478348 470363891 238678407 243198980 492210043 183975880 987835754 328653188 927713123 704083200 471191479 423691391 560397833 966696375 306969468 666944391 455928873 890948811 153790683 778376875 952682322 994473778 680370242 778314471 208243523 802519235 500322296 466674802 367972536 155787281 333263153 157545153 204624163 722775141 226073790 920999026 457102467 372496715 810855353 739664659 491820698 895317095 901822446 254110076 335610344 390650832 509316863 332841285 259485073 684889782 589587220 620324876 655559685 851233855 617311980 438262680 595215561 981173424 474083656 164834838 823308514 913903024 691432970 604427467 455750316 726093063 793033112 335835683 586173262 397771865 812658670 303840388 221261801 732121845 416370549 367675701 378912623 583874054 489729568 440379019 845232694 444057762 532145962 622778445 130657458 444842474 508245965 596756093 413451038 620767207 874881040 317090878 578089194 984267491 861900519 925086386 246216016 933511240 962994379 197586199 146179840 122374823 484665957 682770775 427178125 771298358 793177980 754032531 160203599 231022129 532515000 490395185 438161858 650705391 152048195 318109129 597628396 478560820 595132950 472992125 535256519 649549139 974779272 544325457 829924221 612852681 272859139 281620288 988084261 662032172 764922538 159673318 302631048 810413881 261156350 463643468 933002011 808586110 122173727 464877433 622507356 944036415 696251718 971531221 326445011 254598148 507783665 392626631 321524670 174251568 896981962 322099665 306707145 597332915 684990963 281313215 923146374 720637741 774017126 735927106 877574791 153425706 814016440 844149724 509273075 545833808 721515276 611402757 800508878 810521038 184874397 250205460 591582533 732067003 740494231 527232663 336832944 222395572 667657151 713954179 485297042 746978315 275079607 506815283 567576033 765450961 609246605 400635593 396893506 496906842 532769608 806203004 884944237 129104580 204257629 588867575 972913621 759410815 414765937 687733749 614657312 383775118 915554266 421872207 281953455 166543300 995690997 601468905 795122278 502776503 881492924 925705003 852829885 259653983 991660189 927748117 663450967 869041841 343437160 403142973 385016629 224420217 949595217 898125122 103376387 716580120 322866364 279120187 502574084 840120162 523034955 869849523 322882889 796976267 118475903 225239900 467737768 335173643 790714956 897946226 603031386 469585025 646732632 182644929 851855168 830214183 291336206 862482142 678483724 334545070 614989109 417110108 994806995 973537766 550397810 457520103 774063860 225671174 414510884 364642742 328570453 485437927 552057448 663339531 592773867 264320325 991830421 143727659 849142130 962447726 491759552 931685982 202974356 721835280 346390689 936406507 307894294 360276354 370759105 886978198 923823136 429168597 701157968 175501490 292909122 690160273 191388832 380967115 637852888 145489799 149643332 585772369 597408767 747488692 298472821 827890823 185867733 486041895 886853778 511544983 931077071 498515779 287229906 371138660 533226691 383841219 262070569 902471868 124517061 489985183 225447558 215025659 725419427 151449543 903282896 774416216 916244982 282065791 509964816 500286640 909549012 598141675 518977330 640094338 224991900 267522948 209684705 106813965 688583971 195971630 761613884 405144735 780313501 899778736 351452991 813445712 799688192 649789556 837909455 515618547 201736482 575142103 841956732 737497108 460129338 879273124 929025533 279823377 207527874 272824458 774157878 448153897 775681973 814854716 356834295 340377783 547323714 692217927 960495931 916332747 726309701 253913562 252470517 480671282 558354300 932516126 214443239 895908461 225988527 524580091 287736096 136060947 132191590 958728232 746285963 629226065 572990489 786799501 827089162 246471490 381995306 315576613 145956325 809260031 630827923 187301805 480987457 237030581 549655359 873230825 180017694 442912989 937770096 823093864 593459183 571271910 209235971 868923771 630672862 903823876 466337511 620349762 371835402 351814548 714858961 247208138 712670671 428972219 692369938 704548965 214025700 654093903 108289304 656286799 300110012 937078338 327702255 604947639 200084322 558182437 581134746 599046647 875976597 928345277 551507381 830341068 207056150 309796238 531935666 101632826 369317689 939314126 903302728 980590825 468051608 829782353 967536196 392190263 726361935 620686737 374779770 132399146 662834755 121634914 521309395 313019147 177734924 101195315 654946047 211099393 353141286 743030902 938309069 984438585 817809330 164319245 806748182 969524108 741038114 214140862 642183566 562632824 753656964 913615330 774654872 295702676 185782675 263485536 399466048 143047042 438915338 315855164 368872848 942309551 141038585 961684666 973999732 400409618 204769131 912939744 643027572 247143005 703769334 431148474 610696752 708129664 694718777 537172584 941948795 368666600 100334628 815707708 285203639 439692073 330739457 586159754 968767695 652345634 119984487 616739500 399759434 201034094 395714146 628904303 838126717 826619792 313176732 421869643 682776010 507838311 307970735 733555126 772297058 197425364 819580923 153566109 428235302 988679527 984773642 726018136 414836801 888379608 182308381 815278651 938990254 123198761 901444073 386611925 502239319 262090035 294258435 778794908 189162488 242539820 134651182 811873056 752380574 329069019 595979955 946598479 413438495 147862692 312417259 265425541 858308474 342353447 996683993 107331587 404575055 459375889 425407643 112191876 676584461 814211525 802050391 189441684 686338367 984974716 563081065 589628678 327735285 810043786 922266004 547549179 556052146 189405785 369083854 296169729 950852909 221334178 600777131 124310884 806817496 322799966 975356233 201612817 925748390 507959817 725093790 546620453 248472339 906093217 331743173 557975413 513283200 309238082 194709505 515066727 685169370 620909518 779686879 914109406 989101350 463720022 284842758 178452261 775728748 477542755 338843964 207738785 404962121 507361372 339068338 805408967 398013995 354553990 910492152 639214072 363212113 971329698 537664185 418934079 986126667 862010246 234516553 140104443 178930118 482828075 508213670 572178972 654556339 855664040 489047004 724222721 760228509 756167389 799200160 313461391 316941614 660201842 416454927 702682370 234048928 555335970 937390529 740166990 314503901 589181122 633382376 621587983 512580073 313996625 229002563 947248251 487322622 711719594 764275790 184676775 890782377 468468974 836621409 589014435 826398945 292714956 553963048 287569313 182313156 715794259 925132739 723012797 957252003 318853069 336431352 658842913 408153881 119390292 609141546 172324862 300483442 677869950 626434649 488842645 501285439 609993203 264444244 534490451 133133491 955300147 410262403 534409840 428694134 486674218 586476976 190259734 452028430 189965092 786651912 377034333 930640160 776940748 309782592 728741194 698897862 117232490 259233737 657068436 880417285 749541527 546283108 381204885 206387900 146627580 669653766 641395244 594183355 672213191 339301104 778584353 237756672 640766174 553456364 159488245 626164460 499125180 150450951 393637283 911619997 859011952 830757495 178174267 664286128 802015204 148480130 922942974 117905857 503258404 921901447 204992252 102200327 657213888 909294813 448140848 762461026 817171637 213703654 297870297 735435079 749424613 441715890 390500701 135998742 969980786 603326236 762804762 566919752 658858019 470286696 400407591 624627935 809835587 894989563 893724351 828104013 436257527 960153713 292121416 459376397 383658206 365575888 742735587 594266775 879333771 534424131 955678080 157105287 400300187 474599363 870626105 649224406 384598626 754927026 444602826 245444593 400083072 739836464 140830185 346967955 438416374 151052020 270997899 428275527 632491822 916107686 941368918 507486515 115880604 705154205 689154657 344333132 350321904 928772839 942626802 953041232 966459927 802683858 694990446 473121988 907444563 394048697 923303595 493708079 701507808 787548997 687358340 827953233 312593201 839306377 535351268 563770591 747464290 329145780 636461040 972819991 827904553 488353124 957799921 629247624 538757481 943942477 545949753 673593504 342109042 137675815 123866359 719413158 756118302 264954748 272867627 411904270 297497724 837176059 419188372 871725569 640923337 408034252 300881417 376641063 908659164 364089536 748220470 340690328 598922375 708681228 741530133 155097399 718275327 926782166 900793755 676374261 751606232 835608849 156124958 640754023 204152985 953288296 941354916 343907735 536494906 483064906 979219852 207168715 667931469 169963070 618716469 481717621 213885680 719521738 273661019 447907664 191680601 405908546 350454538 885240524 358777837 744940137 900268760 768421194 260776664 681627315 636969093 347875286 572628241 503494657 563980149 832230658 310132403 387716354 751511089 397752401 115940506 101012525 862244893 231672543 944918324 437567808 414218162 191206233 937929211 393096242 804813729 406954839 778102571 361162515 340000450 702919000 489712127 470341337 378284265 173733747 890535573 193843407 989983818 341757502 962070418 378279839 372791533 332080063 570799578 715266200 716646570 562861860 565706925 907001836 775075743 449726978 473722519 488262359 851484195 948177764 808904333 717123982 360816917 256735919 741634435 577016376 795823593 584650255 854790861 938736235 712700077 286357853 796343391 788135409 362418747 917152854 478889880 959774359 186110014 638340650 288825825 263114376 469958171 501817221 821648843 313528705 893110639 757242051 257292241 145616285 668816081 618885045 401246905 222724724 999166185 698922336 265929315 634019252 175962804 294253142 454157403 965272913 548248899 543595481 501622785 718466541 963018007 950606359 306371197 500240022 317158966 630247166 546373241 608509732 907559322 828446412 424959244 234963607 573480660 159475565 806316874 251362453 947586015 120563901 859859146 215631561 135622832 396225144 524857670 216631088 961525714 962395691 252683774 346730667 283234308 992304989 610667569 151370062 719709896 591968041 352283577 242220916 612379445 175232584 777792762 289547021 372400402 482109787 799533406 782762776 897615371 928454223 437108685 188733311 160249523 591055525 167051451 876150090 827061249 740350542 740945685 934622788 782285000 872959715 947309375 333958047 293180840 623549113 233801013 924277332 419190872 304757012 521317016 177804754 833663573 757460409 312627772 813636852 435885410 704039488 511632615 861602621 803922849 693542522 260441844 419190946 465850361 229210722 672129439 386711707 308170733 703053410 163370660 367990402 167285833 415908239 704031076 789337708 389238688 111324992 326304767 917938446 645558853 362863458 262911551 750398623 144293103 108410711 947486440 822536012 658906950 197729478 946521923 980137902 486164014 331437815 820521505 477047005 429361432 195534277 505908333 300810820 381336439 964557394 963629220 614344541 503714882 723250965 402733432 683661758 501123230 316567011 852636278 161668697 285771300 358616125 426693922 623706343 246604659 489669162 678630495 658178066 355987090 194383764 142521432 476606154 352920225 532301903 446216172 171690026 447413367 178201626 399408867 169455070 146208142 685941839 824324338 384223710 180573669 682753091 831539411 416466296 415738291 652664384 854450898 314310105 174513793 711927406 731962186 865274745 979196274 708065551 330831393 465310331 435832112 568738289 340102820 427585025 522414795 244012818 953972101 149631423 139717389 336342576 802777640 296861145 208708453 303059147 652686200 508149989 193290860 815786467 579312671 556244915 855110393 419310854 298994943 972931189 888766973 357503758 425876891 184825885 140597569 694156335 167827403 232887154 865822774 918881036 593154766 385286127 376221643 570870356 230444477 911104709 406990996 663680299 752730709 307238741 501262396 240009105 483354288 125707101 986193060 147223933 795882400 416968755 125803667 359059927 185011790 676297018 344626214 103115323 527710095 227519338 941531325 371243056 755305660 817663456 825388989 585105790 249001960 652563310 917655295 268623838 261024247 716302793 257260379 953946733 159276844 235787387 277810558 147247548 405793804 351985027 451734989 819721997 961759723 892917899 108543545 449333505 362939532 446519758 206240465 645899529 737435685 859202806 933643784 979974998 643441199 181658361 887876409 611602256 877523179 169430542 325030643 997434371 812818702 279468685 963758678 217226344 363921432 768692850 843001029 193727304 179897693 567384301 275248478 638424194 977733079 194114030 160713271 142354468 843848928 581260741 185663779 811702426 388563906 835613932 963667594 588078159 726425687 658110756 569714119 695855464 279886637 116786529 376403374 377367173 902713741 907329899 292807790 377945473 512017835 191484604 786737975 639886411 127725216 356519398 634998363 398440532 988841355 641239564 253649649 171050882 877001713 522922237 235592959 610441407 683751966 653505025 133174086 537466430 638525194 472919576 545231993 625576620 505224969 599379792 727589008 589402731 388518517 969128674 334175399 452057487 932304688 534890673 597072904 653472706 101055075 294192890 308149711 503561585 138014062 192861616 250702257 731251097 844516145 496969634 771251286 374343481 622547076 134216756 678725486 279860346 116363440 214905836 290768240 111424990 759021181 961599549 146619345 156541563 438175396 368007150 887115724 952343021 199541239 115407867 567588841 370088946 662709166 288128969 562659659 864267914 235688259 324526772 576726288 592271258 869847794 661718606 179803675 664837629 833067413 606999992 207189876 584839152 241099673 528259231 144431745 304910981 541815821 709976226 949498982 202176018 232549398 236650030 599644263 804853238 720279918 508697859 977817146 750104791 821432279 255707918 662518404 417646723 801481945 724209417 725988617 184492520 401663447 435865637 139208552 605732942 344313303 311894597 140215559 697491744 645978855 836580562 757620006 488954998 166555285 225841002 800159029 831921274 509025736 292369061 554551122 180099840 664479696 139758274 904451848 961333602 482670196 786004744 331301523 609477431 393898709 753132400 337042759 235937829 788196000 859066846 573653622 751428698 231466416 375740367 246891000 571282884 259811594 659765652 855130869 351122887 712047716 801023079 673754859 569954943 926315773 767248429 454419027 270339726 953556846 938466116 282738685 535495541 295515669 212693497 402400571 164924299 553481034 448625759 869712441 492423066 826615629 862107864 969752714 557976484 380790555 663526188 299387661 342803117 561720073 652419664 231248616 181972019 551102955 621039201 212428509 414858801 895710947 832584095 196046701 494875226 125048563 245295885 485591835 466441389 187839993 526485053 738384081 884993903 900040498 473679406 309713922 833177269 278848918 828308378 989719033 586214461 174466277 762842368 326199682 571945883 478874698 199407622 510681430 990926086 714125915 931436081 751376621 776307798 666368970 866635838 670160745 528015243 569411423 706775270 108567104 412358904 525781584 851861577 950959857 817577158 499018388 552375792 372427129 738665842 654322256 872554877 219759108 359310753 976071427 237230648 306945314 918236826 127344471 386842669 555439125 123648951 213703734 458963393 211842646 685644834 671693312 390756023 592401366 662212464 835772397 180000704 856765882 968761050 963149956 544820449 207615531 576792136 864152891 440775979 392070452 834927132 607130028 807388497 174283697 489858696 821174688 831216260 489551912 279431517 321800413 385570317 852935002 381749599 603992157 789882973 876408818 554978796 676259085 765337044 688385024 621652608 440908737 433574663 879032352 185862532 274925022 161067837 156962961 246600042 669206135 567734420 886213780 924542656 861417367 795671666 557121663 151792117 920291927 538684002 930002348 248916490 226081945 928015137 824442984 398270297 682794169 385759703 745933665 346671950 878001215 413596486 426170062 328046660 910954193 106754780 980370393 627572970 585804015 684784599 393493108 500497420 938986572 116676172 827576979 168203486 214029944 184478847 227370565 661360483 980501730 650971111 984705862 980196731 928397595 143239282 154985658 549326976 998241608 105585194 339658123 608476983 951687010 987677712 456751203 769751469 626433576 116150086 567508256 541578201 112940471 154934166 863615316 105159561 699813167 322220365 842668824 109445217 882305751 580271706 730342233 526535661 272723881 328374696 560758784 766805240 865902101 427132458 216163305 832629255 190032405 725775652 837394332 547231377 997923239 363718677 148526033 260151582 977964042 567297559 928265201 230776555 415070878 132433387 765990553 814941739 799254129 832929643 780830963 859345699 991277358 805298367 372752537 707506832 237034228 314495534 968358489 601031580 714645848 576744203 883698333 389635127 565467052 651880737 408724922 232972482 546017627 800641614 504859524 912915626 267098340 793455969 594968821 193890144 603433393 704328723 366909881 622019553 600405588 589005355 558996948 263522519 708643766 270014062 847808530 979982814 262763088 909270040 835009429 567727002 347901036 855790550 992738748 839502841 679844438 722280755 291623340 166872941 395575541 532090490 591561577 137707442 951134953 592373405 636264780 446501981 832780176 168442896 808038083 779983349 501181421 215205825 438146591 497622394 888158189 113933377 215502981 856528380 329487959 857801115 516472866 482453269 636902763 661560255 474430359 496517650 369858970 574152242 188702363 572912666 185235591 793023600 430867395 149468868 956781279 881803270 924364282 613995216 646422004 793359785 559676117 974458798 339106247 106328763 638971815 318117454 730212335 220412908 614083295 340626886 291338925 801635263 948956383 265982672 336716417 994727920 151930812 610700425 353401011 879739091 995058444 804972864 526578584 811301619 896341096 291672104 168778252 351719328 851667959 216535563 640076207 387147213 433609518 484784282 436971355 446495632 819057236 454241827 482208003 691529909 196531568 615819484 733915210 960981345 357785414 715020788 466498532 737428711 435096106 629048876 858647522 870055614 463498245 277666611 790239442 899400629 515718936 289793802 442737807 798553169 848412485 968245808 762719972 656615610 656152285 293313761 734692596 121322132 735940738 463094400 242911220 997744509 744034355 705149861 502781891 868234537 369957838 912661690 560761959 881607257 175030396 324833567 664196230 706458691 240547048 264093709 549532169 813803079 440299985 843922294 703106665 790551167 426458853 560985673 999466048 950428369 376688800 896318174 219141956 305104961 573795421 733165342 334152112 545888919 486538873 141752007 501097024 736953693 793821814 612728936 453943187 501333418 216133159 665495867 828183706 483771110 911893856 812775680 230130260 680836697 633794287 384609355 805227835 419864580 506932356 877898221 439842113 598579070 381428285 274229186 226912264 950483776 500354397 449154885 246266429 486844476 475889041 593792230 917282624 253921076 669237012 158394833 404225794 942746254 845643721 212850766 630697720 139837185 974077641 943032936 866511593 505289475 915347432 177821052 590665042 187311113 474525164 949648489 918403960 848567775 962788118 563659345 238470906 563184847 547849465 118385201 244674985 563050608 125032623 920308192 940127603 462491616 758044106 765695706 862084417 287828897 957655198 865372408 663359884 405187664 929910149 920455558 449261153 678772773 422875778 980063271 105072916 984633840 318754539 133843999 718692713 683921682 522356631 726165916 573236800 799093421 857492809 655722585 980068788 524767393 962129495 501211069 530650065 533696077 306669103 273971424 645360502 462581997 448402292 167359246 471011777 427344072 543861459 158515722 261734499 880648566 485461547 525856741 907778149 782394107 611428102 138798954 576241374 909218616 151444920 348189098 414656602 287844559 149624022 301126464 849998864 518572434 696124886 175648782 884872300 505399002 617188239 494079655 889953643 463191950 581100965 624055183 625750566 843269479 922833549 250224007 284022330 265812823 211923648 625501938 720294824 518088897 770410564 750150472 232132889 616656577 412339412 490788101 139407568 814725315 275502708 700641948 429641131 639678104 549147425 993763002 263043731 954604443 681315438 704578663 392323386 284407237 982339293 141083042 805844945 308777611 371473798 771643176 329963345 761316281 267896084 384751200 518806604 611108638 562324604 167442726 267826967 944711122 945696098 843459250 301485864 849747171 203379350 330982396 532183659 194538640 315148317 422855275 443076724 858646098 703695662 908903906 681137132 130913300 931354449 107745433 230612148 813999804 538445827 412818241 308469463 808127206 305009845 165343814 394748328 469882327 344185905 390032620 118384416 845907482 735392927 814582622 720976203 921760992 124544643 641740195 147755593 162030249 393025616 883597022 335873962 766766804 434789303 917932621 726022881 205796614 102965127 705059416 175388582 801902971 957847434 130891118 493489453 467368698 897360244 268623458 801544921 545195653 594022097 175805605 780129567 997805875 306684352 836392969 511954628 467310901 706826434 452428098 967382908 423861099 634372260 125273169 682955572 919046161 605433504 982346264 247622068 194477825 433541712 583298418 870352148 482653492 984213452 382932040 567481508 537644142 857868873 323614503 598094018 425691313 544343735 354622584 928602544 314865444 713939072 976382914 810516259 560181084 739797649 125335147 364933505 139746484 410825734 577439673 207364857 773788706 223572375 694599703 386008582 420879223 796135808 573058767 556580268 638140121 678125005 362054720 289098681 548554065 967340551 125273023 729253940 272258859 312037005 159771849 114532256 807201126 351138179 349207938 476966138 245877770 639049214 124961373 299739585 108840797 789257838 131402421 495471066 693500770 639939787 457338347 754932913 185714111 203680209 877971784 335271359 467359852 922561426 204258508 517256862 764403366 242077585 800852875 103452208 116566871 894604895 370608658 832941485 519611982 825340513 927740179 836290077 646039928 918939216 723824481 411362677 759185087 348348369 780983615 283929812 576961962 325384982 762481981 888907777 601320880 252298173 463638634 174955666 669984269 815543070 316756321 829973025 723084608 116340284 634637966 920845581 766781079 679103337 687821649 333913210 783205017 786109076 835568813 274209732 818057360 582870757 215774444 381505436 714243807 989452748 572978693 334075447 825797421 463997103 377494541 295550900 407820688 476454491 879435609 409940760 302259713 619057174 764336568 897280391 472359185 597994450 148580736 336933508 781337252 364371650 643775828 664908155 370070017 305588488 910758629 815537437 670749370 826686258 592707011 714027966 927297348 507809259 290661554 152630546 274171624 971617693 715128768 171648678 401815767 113221313 917978948 716500390 645026627 374486525 199969270 354323405 214876388 288578530 665439371 514401818 890106854 337017911 705419698 730755127 313881396 528134303 500728094 321056998 487928173 194819427 188523442 689925538 737087645 446844322 961502643 218803047 199274599 202860789 777056624 446159767 162163626 561636216 253607649 718730375 187160941 141918798 595736129 287092835 899985919 485770014 285962956 846402437 593782366 893299998 790387190 894504328 910593642 782864900 144936199 696523675 786716916 617815453 191898696 441486479 594146139 707363214 371696145 851115843 978834308 708784033 993068294 583935130 910872457 560963079 576657313 364288568 346298188 379897370 675437504 714006775 494646734 515196893 886055094 530905595 709857086 929006529 445467483 487395392 483333963 724427939 270963087 492200005 575238982 607641574 267732658 235986250 424503955 282827568 891353884 471356899 415597915 486548108 592144344 907765079 144356938 161318126 996641925 244245805 322428044 445948884 148177498 899940634 919430870 896373039 581238624 788919410 183600393 378813710 343778659 315192292 350523808 386262823 329901668 527402792 609733455 769594837 927278966 497894225 475047633 308879830 544841206 644621284 777368364 982831124 488949944 381519585 186124964 237509170 964184097 489405592 621749783 626733214 393675711 741360950 931875388 755581386 374972045 160929144 330584228 473969185 157379084 661916109 288016991 513956758 170728022 641191754 853823812 242979109 965520089 364649706 729557238 243188896 811533565 300245100 259092291 705881414 759213508 132644217 184705838 266695211 636113878 862891171 827643146 762631504 907918593 699660491 443458431 172781548 511846261 861969772 321669095 523911391 195528465 559326959 126691225 560769726 410572573 889375278 396097950 659509770 803754930 453060019 114903493 452204382 429103176 386219408 833410909 590150146 292095016 103103350 592326273 182137945 205662549 390690595 209874556 949179782 343104752 402592752 932044359 261542226 966988400 570278011 151142969 274779133 634283039 406203787 328581313 836914410 145145181 620811503 276426117 830909116 469613260 118207880 353140577 537122369 333434203 549413595 730501071 816929633 148088849 727684788 703925982 601637351 720965003 591473607 102080594 225602310 840853222 717940785 928214650 305910842 612078489 399042406 819329622 223505395 105909441 401771605 973956372 477916766 888782628 920534183 950037871 643365740 676873128 832991388 418479230 132983279 442127983 370584697 701069256 261886974 547069964 930686241 178096190 139818964 579952515 271736196 331553948 100305680 609001738 647164466 769598733 672066726 391556512 753279718 205034000 195731504 452540383 614582135 290956083 862497138 430195519 178266538 247965897 317588715 288376316 788495619 658357576 725397929 107614974 588792080 422558740 950205092 135159072 346859308 462100181 206301154 762949680 107668080 294071855 680499553 264531016 195616015 917051742 796066214 818485937 519814478 492341866 900234678 603145404 146586194 365930104 182133386 214401466 127716978 494626047 382687242 837731442 177839098 786468920 165569253 276222673 430647818 456706601 595575479 572696771 708379939 751970400 633529417 613095797 104619405 146352751 974805402 384373777 616963239 706230819 438789374 119361955 509783493 671682037 925071662 559760492 982609742 533538884 656564324 142663290 695688340 423271539 693308134 405426180 272108085 752679753 434590936 208713627 635834446 896039993 238716582 829825059 164267876 549726102 955915884 911581161 668453917 666612316 894160908 837447870 625191244 592866070 295439952 871062414 493981833 403157030 320623133 886901938 309059820 442524926 333621154 145459856 295253509 978824273 746055334 727710430 696415815 685658403 357366064 438627115 568125856 853630253 663858036 636477995 213898696 381207945 963662885 927522792 308453314 481146011 536675543 943252522 979037445 313676044 147837067 881710733 983727644 453183673 684945700 125237690 280499579 909337457 462845214 586353920 998126853 909368050 216408828 228140390 800454674 408536311 984758401 955210524 992534189 275086454 124062275 396192696 337968563 806000403 727268887 978828836 792047758 309338108 489261205 944235199 857561757 207201376 987389275 409774197 714678492 293501595 992936397 374865436 391058991 677014254 629068484 786115776 204954476 243367448 176768184 131521868 960544714 248585916 324887352 759383332 523461053 173254484 152703492 638378179 715805071 294178959 232701134 161117732 576337092 225922082 843509776 229086826 585569505 890921468 115479774 465883437 271887492 521989482 787066794 170579013 318501355 798553672 867118716 507186501 658019394 717914532 461566866 877224884 891972025 184280739 230760854 875761682 325904891 371654038 869007820 942640673 235375447 776943089 939650641 627610385 898499203 449804119 650028520 600425349 267018589 944204133 872675750 674570071 865034134 704590261 608126893 932195729 137896530 190037525 504639640 635162249 244859385 771172771 619064832 214099203 642551216 220470538 273034559 786213336 588049511 424007510 630619677 420899311 786913745 754385430 941142137 799398396 610442593 271022484 501366888 777610713 384076297 619925015 617358720 163266251 948896585 103160910 949150875 160402492 703670923 676019639 150529485 247809966 909769604 485694454 365671198 116543463 945674358 391250083 211344035 385974062 903066845 403797090 801912144 880393724 879962606 642195115 720963345 319446451 669564139 683762346 318925843 822165898 873542645 407913140 701098601 466681660 667560546 355004299 116007848 451782118 808647153 598834254 743896959 498829882 461350079 780038875 333807196 210065849 190611274 649883038 513184062 257913161 189377547 640515800 221723491 851265656 978087850 771362386 835406610 221296847 407527557 964889417 276972056 247149148 616191180 149424331 406950343 522038326 159344540 773554593 402184673 255124023 230416187 113208596 676625656 457778037 901860971 895205426 887070235 991560203 704230208 234862381 637307098 221338946 913164321 887092906 969666708 254527213 611613763 641017696 708681647 588132012 860556604 650734626 755421345 556148598 644591132 722995802 959707545 371868221 593697862 567865991 511492716 837226506 446185698 259516596 640051856 787692995 488927302 711387894 918496001 195577261 404997437 651248770 354082474 908919294 346239148 980582264 551341836 793587792 771627121 855742964 183635198 586698954 495574181 252480743 824317429 787955518 344514484 924416836 812669442 387542980 554792470 883587241 218855615 848923459 708622214 752632518 611374753 261334729 557206486 184008413 671957786 157240119 991731494 934452768 249097754 907422558 466048105 209937126 232071563 222671217 680172620 967619036 856322388 202588663 894375437 713542446 100921842 412919594 450315021 860370604 826872552 920541848 241191129 601116977 350376684 381170637 616131332 904309203 347728963 892691235 179366824 269434108 612887368 995991278 977399886 108687859 279572615 759352776 345735698 379453017 849277955 839445741 928348720 144082585 518939147 486603654 624335017 389651923 951945845 865555903 295936253 974524956 989256467 100368955 192078660 693677210 607273697 710115807 966191347 649737839 443878416 290824055 533398805 721852440 633750478 252895668 216655089 594943992 464341983 227751058 117296693 729247300 709365064 747682234 174044295 944099471 878946044 113721005 584973519 190037755 654569974 223147040 740558777 526425502 950808107 103673925 720679138 593648402 564220393 611398815 628387988 288854483 335151714 258800956 343113378 610025501 233730035 674737108 984199417 990397144 389915392 399831641 785324103 788986034 572177607 855643129 799439093 287224194 958186231 375956848 713965763 441963494 432801847 364239875 492443807 298558642 878853408 917666412 192016784 111107516 245986037 833838609 873687567 665604599 732726995 894836691 112879310 123127716 983867890 204125579 387572276 995311145 195831675 950159261 182373782 694533400 860326672 272866506 899024357 521986034 426703136 708755467 277100264 900884566 809533372 862794690 283427723 408294908 589343134 666597347 706355485 111054230 597437403 429657145 824586360 734862011 300578028 614487846 753372734 838276115 960627948 792587382 441684894 782032432 682619685 286170895 895909191 932716202 404866622 909380768 343338550 222866562 890268465 745870306 351402158 644080040 895226479 429682456 302481617 651705476 796866385 786441469 576510790 434227187 304791099 773909688 775144068 280852049 558561970 354870100 521374646 407340257 963365857 801940391 454443184 389317930 761098298 288844621 369409254 768487598 528254709 808443906 458025641 452073677 911756792 800009804 345737813 451716345 947380721 695843341 765522532 988341119 402745088 661793377 585776484 989078928 493910455 995811781 732547681 743736779 179945188 560099583 322635106 333811696 888979519 272816060 466402900 556450245 530168315 331156448 909531695 192346631 712913324 428005032 929456500 266235142 125461122 704199667 813030938 719883640 848704708 592665238 996645074 562639687 263598950 908337287 863657196 511373911 117431944 265695102 662757369 753108833 288632585 123017282 473802418 136728555 505187473 795012705 182889447 721073728 558210077 322202494 141854455 986283735 321796251 759448592 798535914 801057963 483281629 512532100 478931768 100572129 295676884 714562554 218889209 177813922 729517134 870584486 777122570 154960896 523215225 948366634 630867792 200796234 259447938 509412175 783155642 680249756 602670886 390766227 543921348 375341865 496553217 203900973 338995585 146064143 277365744 428460483 565121432 519431295 882936780 704298271 471132149 678653755 932148818 383430882 211034566 481204254 711420641 472944275 139712108 757983055 561250996 612949859 339443091 452224553 761106489 480817357 936971091 555055404 745566071 882348888 507482861 349480941 968661505 969224586 205071024 497473057 474847877 579269553 694273477 554299623 836660591 525924433 563581733 148290030 299124210 207395644 232870962 335888413 702933315 214384938 715886617 892562959 316056343 710304418 836681095 217642327 790521695 632628745 487188904 702062587 530119089 270756212 207004349 560527032 866126787 975525164 436665758 417872820 730564474 854557154 805504000 946251358 113785657 761677286 909211764 243793622 381182120 843687372 939353346 808689260 121056151 815996506 582560471 398061928 327954502 267320282 803595494 999914743 453107114 858365433 302201189 123295780 708435338 699752951 433531830 616846230 985149059 672858910 279849874 102048938 922352854 675868485 792267994 946479746 319855212 385692954 427212081 799735510 662813206 953937021 671369601 379014209 850070488 773389201 888785430 255202328 339365764 316288515 428054156 666197952 803595769 924641369 345556240 925805537 333615413 272166632 659458282 214166869 760137052 781256356 856646987 253543570 540552787 322696428 169326459 473776069 348545345 758294786 847399714 155118490 789591674 185979544 676130758 264092869 294655425 332174258 487114084 515397270 645180423 225250136 962868120 804972436 313145267 776513110 338713454 647188124 459444218 633759585 119490640 757852901 172647079 791506373 609607185 690790651 652863554 323407201 397996853 917041666 702241293 445071555 806358744 623899154 447396878 816428759 382391777 862696025 171463075 867526777 663813649 652463886 550317663 673486982 968907416 792335221 969546087 694975691 356147729 300329941 842510646 676281097 626693365 594713458 129174934 251388484 834510737 777231151 862364452 590509706 880533952 772599181 742003428 989511625 770951833 344904669 150273331 697179891 975896779 579170721 418044668 948775387 469026852 990373639 703797816 937302423 579325837 724219093 567112563 416305436 862015618 764424434 701186119 673667372 779821542 178991222 296084001 910648188 602055679 987912763 373474927 980559213 910471779 859425034 116307612 662726285 932082403 656661226 919302911 401437770 707550598 599356351 660365326 966637164 993582156 131281945 600869396 303495708 213206745 188820595 722438189 455806764 789435372 962667273 637148878 697536793 600221518 310784093 119659676 728463165 329720121 797719474 707335729 208470145 322059489 470832559 680366042 625292272 703768847 784817974 381356007 236569799 136290081 706133705 243861855 925348531 269585137 156213596 570961255 946978621 651854109 161312086 538297338 108925530 429481023 431939876 883471380 727400611 981049686 755536608 879965760 517315540 444537239 383272275 287173637 983458779 548013696 435070912 743518530 534613093 281705190 784501026 403296091 905958512 241562116 390542597 722290912 536949395 824442850 556545689 135618303 955517795 910929449 663826634 963968706 246755797 206532793 643520779 328522266 332032312 425375684 773499268 315959013 657868485 117350924 773928922 700977849 895814798 328997450 783209407 589656421 518827809 763990655 683546078 438879259 227336140 566921156 581702803 725917114 948293615 906269343 992430524 197656224 449990732 260557362 289263260 374684048 842289290 256856357 898381590 646577953 310700283 671340702 728805139 286002277 680345627 489536100 784706611 655842731 948914351 731460302 562163842 858739775 673757546 342641090 933715279 373373609 967472776 381354440 193986368 309373306 507415076 494794346 953371732 414544719 582762010 154446281 751932657 431125906 876813314 600445064 346695800 581014037 815247741 187621322 982497656 718868809 182162169 125107010 147500320 687141140 144511717 724543347 396722414 874631662 349157884 660373229 462093905 704584682 726385051 926010873 825916577 318224652 411117885 478021099 134499806 736786245 121086322 244512392 457482529 373248229 917313014 342484558 452965921 600529323 335516710 831161768 874065996 292484874 968216909 209519469 253721498 144687444 307718790 724285387 780063522 921133755 301474062 562580678 456056287 920425610 574025143 974323681 349602771 788403171 353068345 217014926 604459136 970507607 960654872 269389324 752817075 830550081 130180199 390139977 141045241 228457333 925634940 105031097 187685326 226442941 997993369 533177973 881209923 906117830 375051266 211238535 259842152 420219768 497946005 806446110 325077313 350472536 119319272 219449852 761168974 123662972 905932498 235281508 438667348 372024219 857047308 963193640 596371737 711589791 501354445 852064346 408112145 874553022 486784849 676996847 610589483 120410540 406070392 370833339 659380915 337917210 796145945 635138947 972899003 223994898 222866592 465998860 872556446 375731867 420490608 865414777 820211019 998046654 911309165 112648645 958962314 344081268 546589019 735870461 915819900 326701759 675168030 248251706 551140430 801910930 854331844 178092789 401966238 184626936 303856827 401942797 513613008 885537349 278369268 120079320 680947717 882414956 442904915 660254889 697586120 379746799 146786858 552158326 851377977 452368301 432774302 771989505 185412932 124659025 948432542 685090309 190691254 708532583 634530140 572315707 611419279 301391256 543363454 147558679 902482796 158153724 411370099 803641234 659388852 737078792 420731729 267278262 445617739 658929450 767621275 347006400 939511881 239436296 663190748 259023104 640014822 440494363 554022730 671103532 815124747 174351157 474900546 204512793 498111721 917282055 235187990 384665206 593335843 812417909 661430082 796905282 410214620 849087517 822162547 876483385 177704860 681311380 634059097 790521113 686550576 452834285 950468296 300185825 682554786 352939428 251060211 398878042 250842825 590148803 950042468 864625553 400416822 634048565 425780016 996831141 470607669 800397893 583156512 904629720 261599981 258622798 640089080 335072682 494754746 433782768 829618388 354514064 963568340 380219040 196240216 469605790 314279620 186996777 308595355 423436874 590655524 990497458 538582134 534327089 117743786 622029578 376393601 685115036 695851719 581772045 671600335 832390412 406167983 973379423 195345577 831176251 759201122 520595004 654679058 651101629 498378208 962561738 873328618 607326711 651706788 147600030 613108799 332380043 852648560 849612963 561079516 476325709 844948098 569216572 577598079 935778125 311664454 506029971 712464567 761527551 771668774 350820692 338211448 546030826 738868221 665576749 619252206 895499294 624037604 771175660 652311156 679625568 790063621 724910912 158775872 264128669 724731294 589414618 164352039 613192579 203788813 123020002 223117517 894846063 631031373 672927988 601222414 340390493 948253395 144677219 101150155 202205387 947617293 172609494 421083927 624699681 736112746 706753374 279215895 875879243 928628390 469064189 705392410 837421883 432154884 305867453 573064181 566952560 406371393 208751431 105102962 974465744 401282577 623874099 980311387 606040470 335732195 623497376 584744186 572437777 201131851 735112791 738981574 725792113 618832941 682474136 959372819 128731986 291767402 340311431 698865345 341409528 993189596 841031596 642371539 400072412 461547155 444281554 869025468 118305707 284709163 122536124 457969150 981447338 208368370 956777050 506544087 222139283 539759051 676247648 914890064 718179188 885470140 840187399 459242088 590343297 636167870 184917613 165764732 184943979 905925836 374275949 838411439 737761839 957920142 623675072 217086673 607592205 939626408 269421451 914975711 282153061 940670468 719579325 107314183 643509869 719197600 575410719 659122191 710990590 559033331 781929197 313917851 950528809 247198026 229484721 486419234 998251803 121974260 156760012 841252248 921011041 595894815 525065731 450466195 199514452 339892764 607925162 968227497 900379479 779996969 976711593 912947337 921052322 887981200 973455154 831520607 677312422 847002124 654338203 566482705 109603833 390147250 582591581 599917088 247641976 134237515 466340265 173577197 451347777 760527297 873226527 790985942 468698682 419775031 989434181 454144099 550666181 658044434 344745681 335179907 530603310 220131307 730588588 167473145 392453545 505865509 122581365 631774099 733728015 833038553 217242397 105106273 483688584 134918105 630116116 605520450 273869537 147729748 749591319 175836779 721321214 960727104 378900124 360005363 586174195 584691896 635535414 271099624 702592808 240466512 792494890 354341138 615629411 206081382 320834772 483238980 478523373 510400854 100573676 218682656 363383158 874712704 908699733 678261651 185389474 130775498 634792327 680466863 880868419 132949734 139754423 868720017 426155338 158865336 451039382 523101781 767096072 176611618 729498646 827169786 295271595 704405568 308154026 631526775 171539501 123417862 519790380 859856922 545214827 192697829 940763216 528141343 864442280 549272628 885188929 873990625 663224117 186206737 858659567 632721944 392386032 991097309 500049087 353827251 505931281 371289127 419755175 331440307 808292094 529790227 570308778 238012518 712713535 420537348 332295124 616952483 856419603 862913719 117631058 973217274 434108056 305702748 205725129 557651814 160590375 242659306 912853996 731032557 416364721 136280174 112132366 433418790 956246318 560872672 634918867 556978851 603567934 430539905 182104486 816318212 336978736 924814002 673741434 457667628 605536913 208514611 371069855 588155334 456207360 653484286 860274930 699354940 749398196 415574235 617408468 875574969 651571964 882538849 398846720 149514080 623504286 999423995 823381062 275831061 356952722 888381667 340771103 109177630 494883358 159251246 374971869 808722145 477336187 475901140 160325153 353680859 875000758 587622871 962526412 793532095 426500429 653061835 499408828 997380803 245429636 738884952 815757973 108980116 149986844 227617759 223969229 874349445 622373821 479069658 570535507 891105427 593286668 723881502 529372440 992323145 435208742 708665376 132977733 943812684 616509524 315323966 387746779 856490568 897956085 416142707 818686079 291867535 803495282 719464244 248946808 187128508 524198193 876522384 289947031 963788775 189666019 488232039 312698749 800071781 771936143 430568173 305322438 729366325 714971016 405958428 786752619 331065249 246810456 765104954 315993373 435913407 639363466 589296112 660147046 690360479 282539822 788125618 531018718 719933197 937731032 317947089 764526404 339119398 764349606 747060413 229688566 535831155 224860815 992078290 528323022 205009428 430700537 600717513 757450607 739770565 901371597 634689309 469058769 136240200 572914404 500833185 314344480 686126799 253396149 424918912 767836865 695225136 266383126 108434180 642743031 718774305 455804212 679351877 527508359 125144397 300829060 617528758 343271221 511263391 454066325 126458183 292189082 241844797 416261526 505570037 864760757 274497435 118740405 641070574 238573853 820685207 772815812 781351334 753440823 975874759 173893032 868707948 705555267 216912093 771955901 431780422 852345811 229648054 200248384 143236492 301587535 864314973 384524835 366631396 883634645 731503919 584009003 902108208 701624533 699609265 125077765 662272177 114463739 907585069 340004525 829157812 854565684 571390878 770144637 974373143 910247733 535832229 385272187 602763454 750169163 439501673 603949396 462480635 693669435 951332503 675424552 712570113 951672206 995776706 631272681 764363193 425417774 505617482 455748301 769454862 519815796 390035050 408633457 281144251 742645341 579531633 870987342 243970190 882562426 193987498 928570754 131931374 453970467 873494114 755331388 727488179 263007438 660002142 430233153 252129011 512266725 327102505 673028874 461607265 542380649 127137934 307488732 774386923 720027818 163284740 635828656 669624470 880909453 570014678 894419807 976563601 698389754 152662699 894257946 405089170 877791227 646160343 489178221 879248828 976044439 267721336 798494764 220020313 212550316 941666029 331942380 785357398 774204790 636164502 370311021 373860597 534411926 511767148 829949869 617726052 933906766 434612331 520249441 600398727 244589481 829055923 115178046 300231279 176656626 866147251 996455418 625715730 757700234 438698297 877668773 247521362 937054835 182412188 223387492 592890871 420533302 742545197 236762836 923629032 902086154 102764135 575363322 132598611 919473989 822834060 726989314 429398490 480437675 583697883 849677428 607835574 526791021 582747570 899657197 590737477 293949859 146796909 114515910 979219847 898915955 521237110 721478323 966718565 840918167 524894214 398083300 183478593 704839446 769533393 908176804 851462862 555934542 980587481 392388351 249102425 243442023 394552313 364266266 874913632 544969792 681129174 439406009 477837187 398092096 737329017 321638530 474631106 540222418 669142081 305636286 766668083 864022007 437187917 138805844 298017365 170910746 724394030 418536222 471579937 712783347 594954548 751583585 402751476 598309198 501027268 256096931 320966399 819154870 229171328 157114314 593986682 310112738 425106042 526665271 165377495 191120570 185811055 580179022 761827977 554994021 869684506 595779393 624837287 522953785 611059877 311161732 245154151 469331827 348964979 389751957 618088002 350385193 477654551 635742575 666374351 611622184 767721588 886184073 580934622 525512889 965383403 871496919 199659381 553319894 871300194 970035566 652321102 637350802 570267279 348707875 193876135 414036024 519793334 857048095 185954962 723591693 720011350 656095998 429874573 748296490 176546562 913624226 403519075 859568738 353600285 557806362 300072674 320236510 611709553 991458660 304802394 192455815 431336168 157689221 130976684 380247151 686551047 266112435 972066996 590434455 301638512 148236409 444047340 792391831 312416445 735610821 996227275 660827874 322259931 691637438 933930798 721726716 919679313 592138327 355800415 580286613 653518084 496162611 671264127 201925005 417790274 380926373 412580654 909300316 848817031 505490261 286887551 644467983 212851437 226034833 819595913 585783013 533569533 148782522 522586211 925449344 359037010 238414777 146863060 251366420 716666851 992344310 200143748 734795206 877159628 111000501 956222867 654505866 505459542 141341273 905896760 901105587 287088918 517520235 658544816 670936068 970341788 131407842 569305099 628127429 815185027 519691281 956010645 856210854 815585734 130236974 351189277 456414354 757357036 134745396 203492990 386965752 781561826 233163774 270847556 602429068 191328580 789715265 339786900 536382175 504767913 422113529 794761044 420895527 686201541 498915212 642115210 274994839 809228836 200498524 609220170 241077431 254851192 616570228 357365174 444222535 101432567 816262289 271008635 176149094 613866361 519255906 132510262 989834222 573109227 741275592 637422152 847715981 235781439 839646962 605362215 168704150 767896215 646491853 382954817 467368701 107482950 198959778 243272361 755226633 517497846 750405466 616373586 237585513 602799706 674157525 918002424 593218564 241787648 555738765 200830319 958202523 356094353 605839043 398669492 105407921 199012496 220923792 296213518 177637695 551323084 488861492 590044516 285379819 854978919 883637643 135584270 897418545 478656107 889056973 839573208 465050536 822079744 139564516 163905481 424055629 680758523 598191387 405995488 714039404 981332219 976067984 792750019 549801689 172178382 396038729 555095386 620139658 399027668 362621016 255005483 900896475 878245668 329773053 572004203 205634084 775601154 268052926 893102992 755228074 182012593 740160002 819157348 393554548 149633780 963454842 742234549 472184032 997076981 214382346 645151993 687062393 875523728 117323587 344608175 163865838 667783160 788047351 468323360 116293273 907876138 375390580 150202821 469522697 514792558 102521634 107236512 747009507 577343991 730290564 811400520 112821937 903934281 742573915 304697325 415718828 202292954 735002109 999992381 705346734 928564148 295295989 221231309 902756481 910552655 985904186 676622264 499844621 204466652 908685908 934674319 587831258 529899747 177319883 227690608 612248316 461402770 153788242 435065228 878853211 353033549 662785636 872196414 552656551 219591070 462961604 886186315 508343465 551835931 120987383 640065742 492827097 843512087 851100674 771736130 623445415 470791568 321258072 820936537 194267973 860806399 379761942 853765629 292831396 572880366 499507579 263148679 298999812 445902172 307451954 103724341 394607101 100991388 759904828 329740903 105417625 787829000 792861825 793735594 491032032 927498738 643728846 657875891 595492731 438544601 118466791 897888634 155682750 579431173 959252150 945926369 512491141 936739032 772935043 184798165 112812016 225072667 886332995 689829373 708298060 761135821 797792710 216949155 876185915 246655506 384880891 396771646 988042156 963786046 971569310 227984544 212272502 302736289 293906531 588573660 663853233 433445098 679609378 103269247 976337185 883682521 879115211 373666058 408960574 203795445 133435416 482083811 231514746 266515182 860244703 130040476 480582792 396294941 890924342 285447720 876682253 174114376 620376334 968329030 516379839 463511916 949024673 493839011 542327284 605919433 213593109 617777557 298108978 165266484 113203898 372143234 247983751 669423780 102861544 414271161 980975476 357112378 132174874 626895187 588371326 973981140 999144592 816787197 345278741 400638019 147090551 780902332 401045313 469482799 483089942 621286529 245493259 729710084 221038141 852913498 114369159 374145706 572270278 949348562 375678883 156847799 512226299 453743244 285322879 413928014 133271875 648164759 718062552 304449356 682531339 634753126 541085164 507475379 505859742 797713876 933032709 238401936 947856885 786337902 624463785 132233048 388216040 881226820 662914702 142477682 296485933 310351132 479764674 894958361 367712183 120712050 204637092 483804340 811661470 480929626 218243659 559699893 971967901 952632569 256563289 877489707 956028311 825581854 530643480 253168666 249094977 121444938 150074929 547041464 637926472 684903524 365257346 645735115 433882196 814561747 818154682 441609896 281381168 757649336 250789464 217517765 893416289 661016070 459404798 507743272 483081117 221200239 962073047 631248272 268661197 154996029 700669183 583627697 556856854 950401057 765653706 653709087 715805765 730358131 325335711 146496615 729446652 327339818 709494829 569560081 243898248 300468569 883761665 745548539 620457822 543932767 251228340 657090617 141110824 954125316 844978583 144456315 123193618 352235093 172153099 360075722 376734927 276643216 728206452 244810773 393740584 374300999 240060396 537161298 371555369 255788324 778194691 601262293 622868150 839411439 949759825 525944222 637023833 704780467 262322069 383302967 115367525 507887851 306385845 648860698 857671341 319565273 901322915 745506218 894918834 692049087 166041292 613794718 469641458 248972117 948479619 712895174 292862590 601932037 790317245 935351149 771423525 365434310 960215370 975398908 817863803 799744603 681850787 752556939 455445006 292633338 567722885 735907181 217416329 139796033 806883103 482309567 773994256 649249585 465597649 709535120 565960274 635754877 925759815 939768099 994483217 819438072 975105458 939510156 526292779 771370873 506968209 195750583 971516399 272557675 796528268 334137465 426023682 640746993 669535903 573417843 840975838 218656991 290265988 217564757 212810740 262692327 883919649 835201256 728585815 162811751 363730578 642894466 368109387 186441853 929235573 809350817 432224791 493486313 316430512 358041373 557111899 493882473 592545768 674963488 482514618 539198277 510843309 759731582 272534119 103559937 670723220 812605580 196862638 567063680 522122071 965953139 132870291 685059382 623846260 961842852 152621151 624927900 621968450 979816232 854369173 354055023 863063801 454918304 285399681 991752222 732818020 130232919 258499698 120344585 321200941 266534446 623445757 346214514 242495167 586811633 321593279 683923288 511078375 634053443 371019109 325638102 586390269 774521376 998939849 126554176 389923725 717829505 886222352 908812547 572721922 526043345 264116896 712540590 858631374 668741776 315813880 459043095 729066285 323586893 366646176 768189724 716804432 454145486 846139175 967405624 404728382 697657041 717625618 559209537 324189774 521231792 943720355 188596124 431530114 638603106 519405415 394385735 347033147 275746751 494063167 768596384 151744681 257667524 586839809 412719903 930393360 938913533 623389761 871139258 174465789 413352661 545583013 237430537 573418055 373129269 161457273 346962335 198666218 678506981 209217554 749835717 650000477 471200399 311663744 783279548 844973639 921463361 744322459 961746590 479505070 758877862 107636340 265592229 589706004 499262428 659018638 195243725 107789346 365598585 424857570 575972936 891287924 564931709 555919180 674831611 505056354 837676565 426620019 735982528 815410268 357095195 996467707 594723247 781907436 483153727 233023580 529998648 841698892 682137438 821721149 123610764 872015305 896818442 420001262 520093089 165555391 990147555 961989203 872821030 662628855 888473928 595890446 177920842 171810239 869992796 705399966 874010981 502634173 670573803 418255105 141205533 735637409 861615719 264261748 701065022 584221148 921927622 769626274 229945174 858060607 572921146 110770456 989160303 339103492 257604386 372143109 222988874 763592402 103231952 821957254 930452835 278991145 374685270 443139189 699939619 516406033 492123310 888549403 159016532 513575131 322301352 719373071 301861519 864273348 757154628 336556712 343845733 866007837 424297739 262273315 177362824 418708359 605193155 167553414 121282568 874248659 889430911 773709769 957296147 606251562 158950184 474909317 750200859 104294267 427258541 908383805 922115147 141230418 557523135 856633896 218553419 782458503 289503091 340089525 765947017 586275101 461218123 596137105 662105900 696592871 595858469 843446441 725051214 727662720 291473387 426034111 448778201 638677214 733752738 316535378 105091533 915478675 123149480 862321065 512247078 788172898 671155263 251459413 509295256 835337675 434360432 571200216 178669309 860097719 884860677 486370793 949975334 738157512 941803966 414461911 205757417 894151676 811939254 969192953 530939590 394146015 291463933 934232098 271732530 140706819 349150488 655043512 496959531 287401416 615266752 594166792 639066987 105207865 433765996 531100981 404272611 924929676 328947104 188034186 477692372 976761180 583104335 900537570 542416470 340092091 603836371 642327517 317475688 727218095 662432914 762476028 878645826 241134287 923462296 611128903 527226589 902045872 214016048 940350455 236024894 258289459 483707234 995026939 688701928 624072300 608080358 629001253 494199182 499872716 135247735 640168700 261801875 448496233 283476737 797436639 334354347 953537963 915532342 845196312 590029493 502172232 909418438 997387980 690777393 277308165 189545237 460433415 723003422 263503468 949216400 526181331 403585962 711799008 194616895 575960427 743123663 852392845 231279113 385289047 216212228 865180875 377928815 806295381 443665481 874787311 948432897 113906866 741954499 249717360 283291245 794962685 609768176 940311502 336573124 904893923 471522549 889680967 359817635 518526049 388430373 280382076 351800966 796039305 962190491 630660520 123561762 145410651 667380810 204271785 328499590 980701500 947011473 916280540 450599710 743794918 623999123 590246334 359491935 679354163 408404934 182748964 663966594 401451473 849629369 258304912 174221440 693099715 144011790 261292841 914595811 363540812 540739334 145186985 833589298 411384239 630246999 351495813 203212937 403486846 799165976 590514705 347613285 990713294 720174510 759194445 762414695 661832041 431176526 418456371 891193380 147464324 700017737 764780128 880942510 709566066 201358202 812789676 409688049 707252359 656056061 783243482 793078019 932763827 757322421 197390870 460637358 224429997 969653070 310370009 834053689 253318962 696317377 585049541 526298101 440167675 758373342 650505183 339837771 262073576 950199476 261268695 816971243 704384639 989241648 256873360 913520150 238197245 512706345 579622929 564575110 903887838 252432390 139435485 613019264 532818459 335360120 152378509 447257056 262377787 542554063 132111368 118069412 776311272 277915624 508120684 526743887 333345209 730602054 121369390 105441814 518816990 831662199 425105205 335815087 731359212 275101484 141860361 107135741 128524106 809236394 751183116 179602369 963536281 710468954 978273345 696893272 882299439 207509990 531691580 965313727 574716196 586528310 988206847 446946202 201234721 700878528 558582138 275282938 307868558 995983286 975318225 671509327 320811507 387770857 438971843 512646833 675403420 673244283 420233787 707414642 680545213 248897227 646266851 102676110 817197749 836291698 252838660 109043112 776591562 619808909 919137774 285441391 895744301 147384838 575330276 636586536 755142721 156489733 105677137 813718195 341885890 440515684 241265254 642093766 842146966 719160576 450492702 906883186 899119306 889460318 261722746 739267907 798347655 157823465 877121993 879210837 783484704 577623540 278693567 937651859 929678078 436847463 601128443 260450461 311653144 231840053 552658194 349433738 491653442 795042426 880997582 874210131 249439883 485202515 406984784 252363576 428266245 594991085 481153253 280714829 216069008 283363147 391091725 151460657 477791020 179052380 909366819 199487671 760595064 194795392 823180476 702800025 614244739 144486339 722760283 255651861 985819034 165828405 168868380 438227362 639210579 205690446 834585797 360873263 346563736 841727391 676426218 449330117 414426690 818922350 878143143 118706498 477819969 671380648 229201772 276780370 252879521 589395082 835258368 563740433 854492328 222392545 262122426 165977455 166635215 401572278 569240370 395034917 515792157 681404454 345952624 898972797 350322213 143048223 386981698 187056399 201705201 369906399 317464789 529290341 355626511 430166774 312238772 743010251 146548174 828041706 434717595 846237448 788550732 642294998 831610764 636170759 558535018 872462800 792008187 880403282 926129417 720522780 156470573 283903744 730349867 168019978 540341154 604281829 325761090 782227744 191936655 292993833 827390398 712407266 208424272 617352162 157786652 848508268 765323952 693906419 421618800 466081901 985779828 989289888 283610064 735098203 584637826 191383247 220438573 812364038 277353424 481510039 345003670 939998618 774489119 182496873 941801982 756671528 523584053 306641905 638191053 207455006 593842766 982259862 415522288 178091266 781144402 739003022 401918248 222649680 735960210 496546527 633046522 600500387 841116721 669277759 222432115 910026210 170756751 620728522 456308030 440530622 412109821 776799064 997540737 476395356 314109682 704662655 692268087 756528295 221820330 764445794 384706838 260926590 306370564 223595627 634902928 232640564 293869686 347684165 674101931 336450102 724252424 979799697 425536294 227939340 403963257 309637142 720157667 340097235 531031572 914416224 523458351 443364409 599223347 258079463 627696634 341882303 564619683 777106990 677266493 318876769 218491533 779763576 835274652 657737347 972652820 772991742 146329046 550878145 918508145 946381513 252802311 181332769 776577731 124067277 342227646 570959404 437706920 769668332 935613253 166530513 123681946 419387719 236824783 233394500 656611526 167639867 233673337 512194715 109397401 814008256 298648253 816011136 906253913 816585077 292959700 740972237 709320023 416602515 770267442 510050181 423934930 140014075 599034510 599752178 679690852 637866737 495494071 417462245 341873068 545514171 948705271 424901796 546575515 681139993 974257640 122092105 784278602 193011587 921444041 860497107 739534125 683675432 723065687 774532785 519162060 174269717 237406113 760956163 961302074 956773905 294639663 119736937 814503377 677505073 809453250 567218518 486524729 148285646 554240123 187097680 720475479 352961816 542694402 506707631 505660540 729893250 292206418 454100654 475397575 502217882 566817338 110526215 370308332 734315839 872036719 966306972 705061307 738362878 850140292 439308164 232766492 396045133 238567766 627478750 222211481 598411396 991448692 239694426 323814579 564368800 455411375 749352845 255723532 437660767 422300283 757081860 444392326 509971705 360484602 218455597 751981934 347399979 649934716 761868807 100650599 832775202 154900454 519630649 740395041 498613891 961504145 855878981 675148221 560406447 495836846 369266653 922704425 499432041 756569258 686018569 432647259 678840179 176121329 428319625 980202904 975777271 148680697 406235694 723433842 889654828 909674561 382841950 246120836 836497859 891444959 488471066 830344021 622879324 216242170 487680605 258782627 610207229 823729995 171717850 455317645 147622887 549416768 113151839 705408871 386419682 281245577 517028288 111763174 887675588 882391184 569254181 136210855 889693949 509487354 322184612 484208032 609962738 442308191 609021075 456230567 197340835 610962623 286801759 207046013 855211802 552548200 625278057 259591462 200988842 580659674 376950964 763813282 281514022 752531354 693812433 768202089 987009201 223098658 518432079 353799167 600310648 444714389 864677778 892981397 997788739 575555305 535953175 722740000 413812555 844593978 150279873 861617324 771836863 559412295 965022439 842762505 631183298 682893111 170057233 648957992 580369412 191218571 548151498 853118336 568763743 123775503 548475215 298337901 843339831 350641853 765183515 192896901 306984990 651872233 629799160 452839483 821271659 262794658 409848928 577269807 520416233 279368144 441721461 405793577 342456473 661563217 265260826 213197672 810300737 232643825 983175286 401064534 958894296 518162504 513317047 778090482 226511927 244485067 278924139 128433532 340607534 902228392 832598864 233535355 300118726 854039621 757708574 562290398 656095427 828038611 527366207 562936046 965328052 599401111 108882841 183222288 605842353 192188015 327069097 666817741 836760766 630136060 351814260 785165242 924672336 424764197 470457885 411353069 209694221 320903206 408378610 277860118 387344043 966529318 578256573 600516893 418771292 654890431 402587367 988282479 189408764 468918631 598689847 595443325 457366641 440698050 726249935 492364955 198567046 344963437 770261315 730059158 852577386 361285263 556678565 615694441 860568121 180659134 697940838 818227637 545944597 840839690 744704558 234619329 794745220 885295505 260048956 265045242 745680104 571380817 140660952 597520850 775396649 568559679 503303762 786210410 479503869 860242646 187569808 103021228 349409140 812459227 381257062 250518282 886568772 401564077 667463395 773434159 403154985 968946859 306028308 331414552 437045359 656793824 334161370 779357565 177529818 498534575 587436531 800946828 549718548 808001921 959266838 717659456 543946391 459400708 167576593 515638556 473328093 646773466 208080695 516787355 469809950 739214494 840010703 136185963 624845542 448858420 951062752 613359940 525127203 871933416 129746342 834887877 975178771 626689896 380421653 116089765 224305502 779846849 927532926 499857609 151912657 152241025 623189704 563810537 300925205 100840650 523670970 368970216 585676320 375904038 602234615 521952690 421319887 959464084 795186529 383189703 549398440 255893841 777929011 291666809 112759803 477030100 217276636 544334948 113355078 917956665 326613057 980666584 311247537 240138032 849747124 774739645 445113247 680233078 455243409 971918085 381414424 600419565 751074473 589775939 534069689 143407738 117326199 968330029 861065539 285793299 455410162 537159922 559362580 267298585 957722684 464275907 972004407 296621790 241054070 343756018 595282368 907175408 447971933 700968221 751131408 705594524 574884556 467757027 679694531 837473118 368103330 874868180 786840050 567027313 609519629 827457883 785542732 232780968 509635926 804299483 691343394 397739740 285777103 441829189 638321479 287707801 813197536 442953636 246282769 411572341 589988874 948150684 612176359 450033515 945951429 963907369 738033501 689575834 462051857 269616807 827040730 393691822 542133862 871440807 935829288 549937352 376684723 434928025 261614293 746527198 681190295 184212746 240387946 411420263 624240240 234901213 143374201 809963751 420057331 128321017 499275814 290267193 389903341 241220586 643521404 332125356 509431710 824847060 535522318 719060243 923632076 272811365 156005007 924770492 620467266 453672489 352493908 122660553 991905441 609499579 859379315 600507696 446565875 744972402 846844979 940591586 160742075 890514300 549930876 920727165 524655432 986453086 564914270 379513488 371316683 293864535 996027646 926185423 787117827 404073639 607364098 527493780 225009357 784402102 320733891 441627323 706934569 349442013 187916251 631218687 910974661 838614099 560686736 836197813 381715749 608752888 386282933 465174187 488104967 949136746 541605562 840743722 581950185 359479208 695664981 904455417 444138476 237559063 283927443 188532977 348023705 775634883 642943847 842454113 401445513 589299796 441432680 184476008 605335731 357520791 614191532 200506758 284356821 646591327 444368417 723201766 377155334 152645732 726196180 222060270 825255178 334517351 430951287 469990844 798717464 281717921 138510813 932409428 761623360 216979435 713298976 822540468 963486538 109179402 612031430 858718093 964039976 595622228 834452393 219237564 947217390 484399640 743536163 784944180 387927239 692684241 160537482 503329185 707368555 979981709 998259660 868677011 525196416 471137713 181550020 778720152 677364487 532063442 339422479 284469018 395413894 644352445 315067436 780559772 754930326 267757122 964967007 958876413 389065131 339438767 902294862 796121076 356378632 908432338 678238238 327442385 255066371 742166715 316029682 447267150 226633016 275981009 418031130 303641371 774550243 965108050 896550604 801828281 516503009 599820850 578251060 750393258 280467478 776514729 275825564 536630302 744858305 170892582 837826266 202325001 571221514 278598351 641290657 425078964 570790309 944480964 123530585 865964178 953519238 726504583 274314171 544876322 854250536 683381882 966168159 624464918 179021094 335614556 703152088 930625569 525669956 339747629 345658595 813408347 636318808 824320584 233649668 644590776 198758046 990107221 176666331 431130957 362573989 748250051 531953583 565409710 469870992 299994891 889070903 981223372 641173324 202377031 604880181 240906419 625903662 415828279 480212308 301711700 483139585 652000751 455136712 492934474 317037749 184807238 678836331 848518117 745656367 696328056 355793920 322853588 774192521 379041909 751930703 228755633 374654127 126331530 485018911 165158437 372445299 498945569 755317870 558254538 917682405 962623645 907585115 977620294 301672070 597066973 503609030 944867122 433972676 451219767 606838938 599114990 234030516 837265346 310894085 576676115 341458983 452021234 278697687 456707892 129377605 911618594 962214917 941467588 731391459 794194379 445416099 386397487 382571303 514221865 840885384 159348243 634124344 544112982 562767447 494831549 844930308 943690064 888759825 938889178 198211950 598222512 711471446 618233424 878712266 950798252 169348683 599150792 430239964 274589528 902401977 384197035 838524078 354802175 335851551 661502976 215684496 817916931 455683349 604293271 730138207 363746281 763913408 184418243 480302769 701459810 544803170 639954681 254424661 515600070 147943489 618940183 228161976 335185605 505508981 738082869 169873113 232480264 167775841 457179183 846133389 105122191 355271416 700799330 111683105 592013431 180419167 260822113 478240166 207028241 444492798 263031990 531442471 215229577 490815889 433898733 455623099 814167452 262879515 755699087 545449099 529020749 365330633 482977026 812954479 408948766 223315041 188647209 222745398 523689567 236872538 882156459 973412007 932863410 891165214 519316219 283345303 617601121 731999366 414603599 366292193 645843216 969108509 945416475 796834733 361429918 477448713 848154980 786662535 180825248 825704201 760649189 263370695 841365419 397882613 814154961 900345389 796182273 728820949 666443747 272964016 709882820 671917591 959972917 210289550 910379053 979394742 592405682 715187240 204069379 262423214 721858973 301795383 307196981 102709113 788081336 857170032 124558099 218683352 832397097 376291233 208874593 197826178 838061506 500007099 140286798 352863319 797248005 879327823 149852123 917709435 833926721 419052722 505331176 476177633 926569964 124711374 564391493 422751568 889469898 875807646 562047107 463829324 950582198 322963944 574064002 416480727 967390489 900171079 973699719 478306839 920527989 351510602 125007587 956934487 718822465 584742929 994042599 127519879 885244051 147295572 270130760 528236644 133038288 828254473 650928106 142969907 714801302 511222692 900055217 238979009 408773825 319036604 145498832 903582332 994419010 644236294 977352926 291277407 893318915 861954303 662969465 746759475 870963938 961798508 975070549 966102852 607852116 160573519 534686929 376080137 433617905 688349611 727555423 469305501 460174736 615349769 667903437 726133150 191076306 807600618 134676990 938887897 491939511 526065113 590360710 496764719 900816909 345862274 317176299 271419179 231028037 700622924 753993434 851253371 172745066 804815875 564309515 500066560 567788175 885636128 591436406 253739833 797571537 939735346 646803433 238698103 767294350 254345425 645915163 491445239 312735519 599017632 917538490 295761859 561200783 613224299 752702156 364648098 586130791 962961147 721125649 162833756 259446464 752913443 419183854 889826512 477787447 934889372 747934579 845385120 669450218 496533239 747495457 620889893 885235405 359634814 118161112 701925064 533053487 914276724 693310165 941450296 380895217 617197807 294538953 602616017 831996200 129546831 746635609 965299342 252981295 924332824 513213259 147695963 910321170 639564359 140537755 308610016 283731376 342176449 324868445 525139742 701889823 441262587 855946615 273108546 769280592 589396956 128594295 378260805 747613758 709256499 499226749 525312619 498271804 853919467 133876248 458601759 481245720 538933701 124264361 430341647 528622608 133728641 666388313 694536236 607016804 685531139 646660763 468356648 902248179 566153303 441884368 907260064 184494461 179670777 224493886 607781973 249459315 341433211 594173807 858374674 119832779 694365021 736183308 167151967 879763852 519084011 806236537 766177700 258364259 930535568 813242922 432369014 980721427 402903652 161762648 860913264 368265859 262961576 757309033 154658846 969806530 154299675 350923197 869932189 385102196 420689780 656965484 970020276 294762720 761475224 745402707 443071002 204710718 874988517 367924130 682931047 987767976 911956054 535189997 312930638 578352508 359455314 527746824 538806291 308429532 917340372 976006466 449265763 142760992 984246374 673871478 629828001 699678582 364695672 177176615 995553516 808144593 922064323 908587172 370054101 106787106 870350335 834827624 220209660 167941683 943796449 403160873 838959623 766821360 541625607 474348631 186122839 970040293 729964996 503278469 884705759 772534650 416596304 716136771 611863310 216735339 278743555 861939819 879067675 162061146 773930593 836070466 168714717 359679815 962789913 697216684 209746012 101427165 620380853 362278266 422097055 302469132 942407977 652265558 677699727 723108933 420756736 108914796 777398338 764870923 767230373 831697414 549869356 253582248 100738254 254208306 614068506 868336275 705233654 726243784 280205527 618705493 808792925 910310336 420930550 253288683 736282993 898950808 211631918 160974230 229471817 424741279 779099873 167147485 624358503 922099438 996095828 619947296 130241053 810330496 716357993 546347112 354407758 638665571 953776961 528523336 551777245 448206438 397402123 418643373 262670533 118035302 285167556 676672436 425085992 934290952 773189976 582895000 106518283 347016183 331858848 928629440 510345871 285414235 230539135 392783216 912459658 143612811 295341028 635160216 738459319 863438347 990713318 897727928 341598360 779518885 243500258 685820077 409080847 592562438 303269837 267391233 371714076 141843981 930797408 625993991 863378429 938944659 247736198 663962625 811713238 280358502 302423147 529580021 351926250 995239971 620566471 414561210 979241655 695390238 347617291 234951812 207498656 608687770 577960172 830894983 572807655 987619352 874358621 476104318 250097543 887893558 493011183 484697998 461797372 351970148 507887528 791150267 928546058 166419122 433125313 694249533 613431837 762359376 423151688 839523181 222582392 396884760 862516604 844059445 961673926 588987835 207878156 767614082 229413633 450367675 131029867 670902367 308894785 279189047 700864840 903699053 578212157 132605712 283271093 470848657 813123965 990639142 127807157 213720727 137036336 486209464 388595943 410551907 739427643 586087365 464404633 405392984 279807821 114075552 146473056 283024411 999721788 260281388 972801742 351771979 474706004 904571603 265771546 908105025 568150162 855918872 977583892 791172513 697611774 105453481 936578843 518930384 369347479 444958920 778813036 570488858 277803930 725759806 301816990 508747639 441709942 970406849 737401286 974348815 616526561 961813419 321373795 285292952 682887344 563766000 258923893 148857038 178186640 662862258 389242642 245102038 702226979 724074985 701231490 231701031 288797574 455563407 480795727 131976483 979119976 192484742 898813178 431279282 518066304 571846683 592431549 774927979 771861246 759093275 453430341 612124568 918819923 822890840 528566202 491901068 753088301 675870975 485552171 433777150 904931079 361570044 836415278 530635533 539096491 649534972 682439662 137421944 115548359 514840845 722202535 108487077 599531880 556175927 265803467 893363110 782890229 137612111 402001758 427572727 576809571 249515967 864006915 524329375 793205148 138700564 482809650 105825694 205832434 750954026 110259642 828707910 920217611 476102747 745761956 533276891 538122464 192718647 820052399 281658974 201634939 623294277 485903778 453337788 631801912 208496301 912893957 265284324 328373435 994592142 626645899 821140657 929855136 571173649 690612776 562730531 351526587 146693780 125135585 153781578 233053295 961746479 882805175 929194244 522908888 699483757 590103521 814107430 968971650 520984863 107393969 827870529 553707517 635960572 704854689 161022233 148777485 532229398 299717693 938018623 575864690 705624028 528217150 999512677 350503115 350055098 530727485 468685905 482802491 494351668 211260496 730794228 366125744 582511869 491418884 647181452 914286945 339039434 510031823 469382637 310879543 519601324 700329299 558777810 777069181 159120434 238932065 510636857 956613908 184622010 805047990 533598265 140577296 445606814 307750740 668560279 504944686 462737365 895355850 549956846 500132712 704983090 333800852 261171074 488854801 409387747 760913733 591473062 991477911 985598152 871822585 521065495 553692548 641648554 149898380 890142932 583914061 399486184 675229231 999899402 267918561 541521866 219064318 640216236 185213774 615857057 448740314 743353436 888183649 910462447 748708630 487664449 157113638 544400913 884696803 713227565 732819117 300428599 656331632 731242095 526325017 213309009 838841536 868353573 543253832 826400101 985923680 464219172 752117007 989526069 596350908 856057591 507720904 875516245 399914896 573571535 734207476 437328176 430120518 523860398 120310484 345317440 922145844 709693772 645521875 121222428 156570045 838602961 382250632 880123290 290394219 122985862 948021658 908928607 864758308 572830237 258385017 383352399 341857313 857016480 552776846 374258679 151238160 880699257 766036926 250047340 328475428 879122057 261473146 956802133 287019178 772800733 376301040 100119904 205808579 985206998 475297658 915562198 307802554 892368546 817372077 160787045 798055771 103928714 756863955 364606196 104488002 276664151 668715142 314811958 126322192 711187679 587772172 652877956 864550657 858382828 122390588 391315611 587697551 597636868 940703236 928141995 395821828 886661817 236170482 930898704 438501822 156161965 307484933 158752742 614670423 818086689 120479193 842495084 629582097 773610392 314993018 309548140 663213768 569486377 317044450 390685532 717036714 804611689 554911241 860487460 861371511 243709973 943045924 497942156 924777965 301951817 214090687 514553972 698070906 830114225 486055631 163778846 145823200 677191769 644352244 536524446 655450369 902421783 897246032 948747000 413934963 825272254 383409689 985327260 403021903 688836723 296954797 632285535 581579915 861569507 548158455 424474095 129294318 278818954 116320120 527620796 821167699 386582287 569789647 700108301 299148505 399340491 567265846 820086016 186652795 274287681 511080503 405479732 666760550 397429120 559822336 672143663 648675009 402631491 568525493 384957673 281132776 599007626 441031870 299086990 304965749 521255370 733398066 823733878 874149975 282036661 798662815 735397311 208997972 624959037 764518146 833088665 880109313 340149817 496293635 137618973 730817326 749754571 636222733 487786941 713771506 956138062 750516525 687642572 301751110 682043331 489445693 627378431 828994701 926370060 135229072 231921878 218572292 816101460 291200513 393892836 844110228 310738395 572854526 368108738 715199675 825014555 456029201 320037273 923527745 399240557 508483433 756218652 424984556 499429591 335015855 941534404 612044250 907168851 622991713 457424709 435529191 140543220 476049882 832583036 543219629 770414515 695122982 940839146 923509031 974315464 130192777 109418129 946632733 857310815 791331427 328651891 400715098 279385338 979593405 274962719 266041448 626490573 752052944 368510575 682294257 536665371 630828333 546085131 106980896 113201130 772882765 701610025 864767105 510467812 530039781 208169341 705387589 403022224 949632083 406834830 943130228 569588420 712448400 751232312 790040414 116695020 523592136 475804760 636814514 686495528 902224867 609078580 907476304 398678490 790674522 687998144 577722633 109476645 342778433 185250825 965117106 484372532 778281753 679063819 449621469 929644503 423845548 609298894 148545064 619041582 376184826 801110880 987489600 907331600 532255614 652769755 699263953 382798393 697144798 191249543 185018465 806240775 397539791 297487081 793281389 802369450 310316446 297150032 438915844 552862957 171127185 590007218 848889400 724304092 514907481 437155661 889677238 516968970 425995723 407017351 804927495 606466180 698433431 227515836 388854203 154979745 377661546 513334191 195404641 882189128 957356979 955333581 949730708 780622990 230627566 215037805 466670177 258838923 326031289 144487165 248488499 207157856 501197330 670892098 459080419 114405648 391907638 418178211 655736302 852064745 563968856 234318258 101550843 328831494 922525001 895683554 819939515 836392011 813447327 579034694 793723710 649274170 309128981 364868355 746992008 875538646 526773561 892120215 816929606 305755909 689246083 743922419 863950361 697793334 377498299 938212131 917373466 732459528 956514014 375357080 243513331 398155967 189098884 105616277 208660325 128720530 163908517 238238277 108189408 936165933 821715733 826296363 414127664 404185062 586082925 349600992 789587534 826549630 987629534 664140582 465310336 229893972 250736206 993879791 689736529 274605577 575071228 825201196 417283786 429515549 596993370 786680036 270544818 710720653 473552655 791804660 667519081 208957945 702633727 717305594 290442767 111137348 282211277 770337542 919868185 801168317 819400450 912521782 536872379 502004946 988652783 785428830 774554051 417792455 857024409 524682999 202615749 509075219 938035576 722122776 523013799 708939271 440269099 971633105 559731772 936402471 245388451 608429152 648572926 869864756 999643814 661498942 451174440 775666600 269093367 609898728 333885888 158045534 841791872 238925280 763578265 538019914 622817785 931420229 205690526 347756968 340519096 609986919 612829454 714228490 290370079 711073101 859542979 450979061 700615367 637603710 687024736 573991938 560297915 656996410 190030666 388927940 792784861 484774173 344687405 874356676 898682460 404697811 751897795 632521841 138203901 992526527 866201418 743760898 449208157 975753887 912915698 361477154 735694783 266017789 840652877 516265028 298143027 348553889 807176609 529420985 232710626 341983210 823502261 744621851 504566955 919283683 959581664 468093122 175115041 349028496 747626137 277853728 898315161 640738714 534303782 515968150 895908896 745478698 836914041 957381067 515771731 427334006 321622634 149791909 774612490 868164288 286119615 963667385 389255551 699449770 900598020 867177855 728380652 975378391 444650983 904699585 910155832 140632401 547986546 646008115 694045425 979124889 514917821 526095200 653740979 158919441 925132482 991876956 929600152 334953891 789634137 865677019 320355618 428384937 439203454 138679046 108958631 538850270 793893315 401107027 705534430 692536122 554816150 636643435 711537746 807036486 991095027 658741876 378616621 198545936 249346212 704981873 813725323 642867362 351690331 180672690 833786115 891247534 301685216 197546984 201634300 537728930 116183825 140619938 597406602 406959958 496648779 232757992 368335602 454886145 185008748 906095067 803070782 254805895 396315394 591221011 294590041 589013230 335613571 996744431 274141104 850027992 607119980 991813558 883161116 413320596 633912422 895244476 540028402 729781846 102344752 122773228 470388784 562443990 713085398 709788198 383590016 609122221 354344373 336957302 662519225 248161560 130329017 419073785 999729050 416578303 868146097 123514567 295889225 876362276 728323231 132529655 121389474 658294678 967607019 414237177 121110115 763157105 453568762 268247778 752040828 622514275 425542752 941362776 539220608 313297267 654020323 625849284 253436813 812771260 190489506 493782093 521574729 958640549 834569946 802199050 795267125 269886120 612227215 910752927 201521953 146473429 183521680 715603321 954446403 236981551 332898574 835761382 728390706 579681636 783868287 714890680 288711280 648169968 586939051 340370492 377659417 521462210 770128364 912178260 972519349 650008421 294549980 429795703 724802272 590962392 602768348 656988737 484243116 552250985 461240040 562089782 280856211 887064971 258574474 441584224 485179730 689298794 111704374 745049206 943683022 251014278 535687198 341996073 951906681 924055828 860274801 655544499 455617526 123154076 718913769 775355876 855507473 185761846 700244634 415018804 856776765 759649546 556880359 667181297 720426280 450015674 834504467 714903309 113453176 920903995 537627322 100115550 748266889 211904520 630419163 537561090 208167021 666044171 922749883 157500726 928880124 297161407 524513760 916862539 754168179 991773398 135173871 858197422 493454532 463835549 367730401 312066093 542528659 595309358 410413758 642472935 112227971 907355005 923260611 104882055 871241340 117160404 812870587 574780221 155658027 954639684 661063756 979453027 317493019 932710219 836301396 751534509 977022402 807816102 439896963 914523104 571039224 433071517 505287384 372731075 224673407 836587716 609277909 434442335 439162137 645650679 676862242 829079584 786286859 385793632 300540136 487936991 577248643 394694373 949600629 539482605 931886412 156875828 231248508 698558766 521998121 752065028 160687516 330778216 573187548 831189190 877707699 913559316 317817772 145588946 771601434 554429314 929349080 655270582 996969482 998334078 866828916 223571266 128790732 666715481 533775340 455741145 161458272 440932544 743962125 909072518 334533537 261495225 703034280 754644719 455146232 565386937 164404351 515975892 423966762 682820658 451525957 462657248 361025151 759266000 820438601 451022426 919961252 557580614 482661516 918260186 289577298 197206380 947641664 743053958 343975784 120865360 419628535 292862839 793172872 589734420 981284072 805833046 721938191 868370445 759584474 521569908 381062303 498752487 571072742 751718711 154577836 939986502 821787958 182511516 994461952 559339122 671820663 909019513 863517484 267258347 267250881 708270010 669731416 678453299 219925660 724614724 231440630 838937313 906818512 178155701 461296528 430520369 378706148 332261207 980747438 710276612 964314565 549630257 913966182 852255404 790527180 415848821 235881278 420431173 539354033 604194993 286366375 764488718 933458554 233550574 266687397 624960789 132099367 613937285 577355158 122955265 800439027 613346196 867180773 810874493 765555845 794291754 622494988 275680649 772931819 232218161 107318923 500920482 224487673 999430701 103251127 485786262 377298105 477854031 878651283 428023391 258041115 356762945 151018663 325719558 498950173 503020068 187121128 426584953 352291632 437843967 876679992 163992090 344744488 793704901 269423051 340433532 242508820 976846852 972915792 340626064 976968871 588838916 190820374 470643668 290506902 203851109 772299282 317879051 175812801 962972133 212847153 604331200 772591591 360284403 497882454 795146975 842506581 351502430 944607873 956230661 594131893 677868796 200572061 377691488 687297919 365292274 733148675 389495576 965798009 108365833 897218206 383829989 205866149 522914002 370558570 498759540 680711433 438797291 236886529 424757945 725572479 928433536 655099846 874525130 237353692 627707273 488434662 172386384 150659387 661000704 403752687 560912192 266740313 897224793 329513840 475952806 233640372 131652620 981391302 746590171 459482415 168388759 499149221 626587185 541107106 332034602 380784902 121704704 277375934 175697045 918025430 125264070 249249550 408933814 520586830 236693524 901082769 630920643 642892723 875200293 906071637 311595038 516516584 815384332 932115069 298400933 737510053 660840867 235366188 708251232 507447806 236004769 586637026 561641957 864568538 973373878 107499341 797559745 854942743 871611169 805763390 700399548 785228856 865530384 524636612 958849935 807994434 725122020 633309418 735193836 649372413 234258680 460709417 436848339 656422979 884410914 472275753 990921448 642774435 720641050 769118259 847703869 753340757 956838608 911034695 522697824 721871426 659425135 394928798 366777621 370123594 797178256 784381237 821380601 957286656 976367205 407900609 364762025 452856941 763931021 418053355 339249443 466308612 954923149 816521398 380611491 853410048 388416601 806259516 264084936 903236513 191564027 226304857 416356067 504733951 974259564 739497451 593013061 533630565 528455605 174407910 683833760 958625373 802693673 341264002 807292954 143251091 824287535 217598091 291876601 371054706 106394194 741132437 812456896 935919603 961231329 291299541 319056782 238451991 733558324 652259189 669095566 916452381 297615332 159520968 170665429 536820955 400022259 940939037 766299033 750883133 565964484 904282781 319287070 608217237 104583271 135513092 844772411 917224245 283963278 881613025 101231635 681508100 323777475 503558473 224014358 652878772 953751383 865609576 998078522 251247004 567661038 226766779 946058913 265887457 294923772 543970225 884556913 210066365 322506692 963103782 716712816 848165660 261409234 459899549 712206498 356321552 210244893 908880445 118627501 241490805 732266746 729236607 549999677 977593696 641204238 498753400 120852856 313079929 543949886 353656981 973977401 834162049 786328184 840837494 280123886 654953165 634396856 106088461 461482974 112164709 538012320 827271318 708172876 529752225 303903915 381275805 561743589 314239711 444850776 366597757 608427357 245988783 853300813 552476980 774190201 484762396 780374201 884158898 995976778 172969822 777920436 108431272 285740675 980531887 596565177 358522669 659500555 320338908 956448356 913205679 901314295 412317477 928845581 697600733 271774133 773552175 886655414 176400852 571983664 975705987 564684119 166943622 733013530 997185575 604522365 826855391 595187990 130331600 157445123 660730751 529138187 409958268 975335352 599882880 889491255 746079676 465152384 555527153 563799172 231124571 726588832 806099236 132880156 611356077 241155542 388278388 432579449 932343034 413929756 933229265 507840531 675239245 101317811 675706648 412961978 267832651 617942305 485059519 918279844 723235023 872625478 660095488 782341722 420155604 636973089 164258745 170303321 539855349 379990424 403254665 308052939 899080640 557594932 855283590 241800061 961892976 828097241 623622381 197826343 402903832 920935866 145866504 637153141 275740241 110628853 663539821 854253483 844201939 798346606 442422945 264805396 941290661 791378626 128628561 543173933 774853171 827861251 919509023 395302358 527868983 637532258 680546789 480281057 775026177 983881678 930793301 677034833 983565096 576514512 159502761 463238247 943072377 496715717 186650212 984302107 181100066 508114222 751084444 244861531 317595358 726075715 312840991 791640389 823671064 816639175 835567541 727718569 742698085 509141821 768879390 594835622 390379609 886375336 599990847 181304499 220724013 199595625 805767998 766651970 221168430 610567896 402735432 701580620 558731216 146667459 562182676 714568880 852890619 813598814 148587016 899264131 457832146 700235206 323359058 894254295 266756818 446333513 272260480 143290520 506638278 335209238 972503279 178342355 959178156 779392665 936658380 794783513 288660689 415888172 218824991 268191229 404092752 598314064 819781924 418196220 758094726 377828920 274520969 570276464 667541204 982244843 934350777 499223000 187282581 206174165 139427644 282002286 678201872 335880146 679961058 521896761 510534579 166647349 308354835 654306038 194280856 177789523 406042164 401143611 716727515 616484523 876541174 473638326 153680249 902152629 378552323 629146407 519667309 797455411 103996995 917918777 421384196 513681418 244374892 122371535 854804199 882756324 148468702 335062756 836732343 563120622 428219871 177211343 336570322 111082469 782622914 279075363 353786127 835808466 989663332 827033352 113858939 611825652 265803319 574062920 228288344 493192800 241657521 358909441 267110204 578521804 608767930 904881087 594443735 343855333 325193575 557481057 464409081 912247467 875791482 301062668 248212688 745830269 639925061 195773821 724699029 974103816 416653308 360515800 141097962 602031517 597461376 371217104 219035759 187703200 264776011 395237451 243091429 516072081 791911455 914314802 799969874 771497099 686302868 620941273 715945952 872712099 258017988 778315722 137932094 256664078 126372680 640747116 913509081 350086760 427431085 769526940 284179913 779259499 630535187 449469935 312766281 685533733 670992241 970432999 634218717 845029543 846012246 181679741 741132951 728835875 795315044 509782710 346036294 743857236 302403292 688639829 505599151 944456780 951909095 358549368 381681660 617015611 105777572 345561226 213648766 415091757 531594404 379704151 168834254 554178487 907956265 834546166 115994311 849398172 746544566 680994899 438783565 529444918 540502968 877915602 452186260 640314442 138624704 145842271 377798946 948843474 799984948 632945187 368574054 635699592 842307132 536380738 456141545 859138820 561491264 344537946 716465205 628266737 704022356 663016879 306056708 960659440 399947501 983878698 975998702 512170476 488982914 783432114 562743768 633580346 839208281 323512065 103441626 559242194 454729640 972775930 652362002 884756632 118759122 512334273 872084994 817864104 606712972 426596310 328626577 574564047 933409328 655252181 716390998 626812449 818190785 963821252 162732497 830814995 118831461 127949467 109456425 319618986 225770831 450572638 754311793 553729654 253653664 373399110 826737950 360727848 809821205 763755500 511976461 831141543 983911122 448922402 521719234 951568091 137605168 901585700 827437421 779561999 240059176 385603809 994982922 292109852 229561229 299102810 230434242 335144074 136906875 345162612 623831669 260184388 108732140 187384394 929061336 615374585 894575836 348711582 657282994 149745606 887682802 601272488 114715648 763513144 205623283 102183187 548532468 316457804 175220288 103753894 148118838 741507298 375587632 283668753 314971579 688985709 195660898 456386517 580170669 901200365 705587971 632223294 900653920 685587012 783375013 898332239 529002589 678327176 571677570 983100184 498245749 663183670 204400477 673957765 611323709 519010945 975818019 256815909 476415785 349780142 378092274 890858800 550531170 590745197 868540567 308460019 111808422 165872465 865293052 686262682 576953966 710380971 381253429 797499396 366926791 515762167 751756333 952033342 875197784 680107506 441628413 600737787 407033566 899309022 590275130 493657027 316224826 503714736 933654421 355378036 851453694 861845022 481822047 767828073 292649818 714381195 234182830 557647084 971414713 481630744 509785452 676236501 933822262 371228462 471827452 721684328 847384130 673462504 364314290 985367690 264819930 483625941 245049317 433914079 255677532 882209289 903430043 865462913 151797789 458747938 661068749 130343902 428695688 892450189 988644640 199145901 933118326 441781650 316278410 235661903 849646600 107710072 229299730 249112415 460156040 858482049 316608107 362426700 267297659 943450081 198279760 545724431 449380804 479572976 470814039 286669975 412803129 710562642 572564486 620337482 789116898 843909674 362642935 154589870 890623127 550027242 835438485 496855363 656085513 641494745 466574750 767046414 380689236 983266270 311997895 167389296 933453768 552253730 833951460 915719360 573711105 583038245 755644670 344713233 513937037 410041005 316617925 633087155 138518337 102774544 993462274 123826610 757446455 446040637 245221208 680387078 441331192 166065590 790702948 967071090 726463325 180761827 819434188 200613224 884078747 716119620 444181842 606131871 243818164 332888158 175487485 424835539 653794855 403415381 564081897 881006035 677028331 553061518 652553080 893642922 905166068 278321586 677226966 745213478 911248287 606469636 147002628 297673827 425722007 486586407 970239676 256894239 348513033 708066490 471767170 698732635 315735702 791752154 986935685 523240005 912650220 821341347 758778133 573915001 657183152 624754948 322208869 249480244 568304161 727675429 194873909 552527505 843365075 743876139 701047158 153413028 988900259 822722748 217983433 832337770 229921854 427015490 931375605 958662639 562190474 987132960 480172203 240390272 498670728 980501087 920767984 636150279 646375160 984078520 536559301 722789958 518258400 144719284 563277650 503972772 395987542 815600590 546210626 756507437 738325077 851864327 777288750 103501781 489841267 160943786 883075975 580050982 481069697 451967776 981333422 956139518 162573649 988338040 543900928 103063710 540645751 507397497 604401435 336396080 831552313 786649586 213574548 919975820 133121916 219558915 455870388 876937534 142631715 557062429 383806169 249619173 300324982 925749290 263272328 498585886 213086861 440504481 203622788 100722001 968314124 975109803 250498004 886024810 391901487 855283438 650468428 238238877 648202097 731441709 358950541 518914451 265338887 360980342 304172255 114711256 283779594 362086381 382338133 252614302 779502312 615100821 697352025 986781200 106771280 746407720 503201046 760783911 165396214 499129720 389739554 944543681 802268137 978479665 556972402 826505901 935040459 343879767 551684233 304538983 823841491 486725614 260460352 834212833 815298821 825997181 942482610 927963766 493080467 796409439 609649435 211500355 573225183 680640410 299634176 800307919 753271666 559659974 236735446 240013297 443225392 822874160 460626607 513871283 136355501 503387120 516697260 736637242 753785861 239694853 621229406 700125249 973020602 942402943 488406293 973207257 695609826 856497685 203682743 461061039 627945805 843461789 553834096 937268384 997790881 231038544 870326850 279395860 428267362 105285961 921993064 429541297 753991600 865881035 180972366 773822810 704233342 433778354 751022984 247546117 126797082 140852214 141955519 216782390 362971734 312789610 797653170 471994362 680752136 298715188 901730615 400024139 119804954 765321460 144274538 135625709 123826165 977041286 638620912 709850011 690472851 135346909 943297522 625547402 770207875 617211747 469690588 124571915 191537633 402583613 456118600 786786202 574282367 150143768 622751182 551839114 667680846 438567892 339136430 716094201 801120157 682582400 293531169 918340431 822458000 676353974 664133703 275358084 254559475 556111409 545247090 966811417 527207513 658748272 872959906 411652301 221654159 983751695 869696015 834833588 786026237 436300197 378768279 662886595 425852136 573475330 267611542 616410843 452697509 783789493 957710956 184004017 534202687 872596978 555436318 911188227 458124035 949824593 656487479 371134223 920950870 133740635 418968595 406013158 877201793 604129633 420492091 369633127 728932260 901231175 342269733 363004249 668729003 267198524 501282591 298667727 824247187 184061253 700668867 137703678 289090953 441893859 150438952 309178531 249418594 119243754 191618085 526881460 409806551 589982368 545348001 987319793 290116267 578548159 180767373 750272684 840835316 608618935 648268010 846199263 201118517 367153522 676747101 153417623 694359111 551915861 990552086 597937759 955585382 960782207 981005322 134683198 520407382 236541409 153647100 767775037 936526849 617548050 376442690 379760929 250664196 283240536 144173765 303405624 206577494 429843815 701785284 193190891 609599781 534602276 164551455 189597361 677006508 888624368 191916658 584649233 443681401 926301738 425597909 755124838 585663775 429494455 124929030 652154060 651113072 351692315 335240850 699546282 311680426 227575410 557084755 838999614 889834598 187260056 834630404 129788477 721266250 216917914 474559578 727108683 884401649 852619698 706960249 877228551 315071975 900531053 365013164 855257958 359732407 994541653 202810904 682537551 421227279 498732613 225093326 491483812 233233630 135094759 764008413 328536344 211333613 639120695 368360157 847352361 137106135 876371059 202165700 351067573 705232928 587445819 143422853 521991905 745358758 350824093 873477524 913194342 415687761 150978526 528909526 649566341 769166709 268554973 198803239 552471630 640035529 477335290 543679635 846960704 691273242 384271899 490245626 672705533 592536973 540678168 796181633 409512302 589452338 194978528 551301379 802766242 149557396 129155452 687006510 192546514 187578822 592264553 630774659 289940237 457208844 623775240 796803362 978834001 121231477 596177746 536865749 255492382 368055396 710497231 293910074 404796710 508881361 530982352 575147677 877069358 422915004 883781187 238134904 132992229 950714045 547175069 133044063 335108686 100014376 682308024 145886184 148387153 544414488 159646290 953287130 296692783 870138376 341245362 355578778 605152250 498221690 112626861 110660954 368153829 261057498 173433984 635608020 658151946 472323397 979058777 783877066 351618336 949939126 291408240 621191008 855639616 806112158 325709278 351214711 289392241 814344874 135753107 285780096 970114674 419356814 387001559 842805418 840015779 504234695 192573105 972640288 412885823 401749906 386912348 764675462 177155240 464754364 356658061 969807988 793694597 564934635 171968355 169965725 434248944 378184903 882509858 288271692 576003678 633443782 531068523 899198756 563665489 342664821 945267798 253013052 421878064 924415888 645536966 998994297 721979018 363895593 999008299 967142903 303851136 982606076 875579724 410502595 801693838 313074462 866954507 935940208 615964513 683426528 696426003 653257425 723301310 543188844 756731001 983010979 114599463 945397875 138053967 240286277 911985867 845954744 997037851 673015814 815008878 542659447 100916829 857113735 447994060 865549313 796844272 683974778 237736042 807622722 679259766 637939937 869195604 841005133 343679033 777724162 399430412 965712844 282151943 614025907 773440941 322831516 204566081 102571496 852062134 479041157 206699286 660345991 947704435 140036887 791494114 677172239 511343464 663838982 986290559 437681099 435151790 249077827 559230413 897461744 324623064 225589432 254902013 265774686 559378204 137921639 693859486 781440551 647356202 426997393 396622058 246479984 524688228 119779867 724278460 506466518 422885497 751330530 740359665 603974107 919838126 200546137 121542396 543858509 299577836 169436877 794455564 341929546 632079827 719660823 110925698 796617929 547933338 794959438 350991141 441990059 180331204 324752251 941067917 102289387 324453584 731691996 688917288 819132611 718458447 699513782 542148309 230217696 911036435 749325224 593875997 719381096 439239867 832420100 321897164 250525876 511033008 306275989 194699126 113437002 352138855 232832872 598958431 169445690 399966034 890474665 653906353 503136167 716885465 140634893 242669400 140268621 132049056 505166390 853551494 813656745 103705907 374769251 434397388 353089702 956037036 957880640 185920617 815873941 845254816 503586368 843004942 524455909 231687714 548681435 270327741 627825611 389350395 665797438 981013672 380498501 568410784 193265672 137509654 834579515 776048210 765071835 213081677 232029497 405856957 334759387 164981674 196046074 371614884 392788955 280010844 224567890 517933882 955996278 995993014 339388043 726885201 807895375 371761142 498673387 585369811 924418109 497104046 109024272 888024651 321888649 714322456 942737780 209493743 428498683 800166061 212021243 488875489 473564359 218991776 675180906 148883953 192697261 596069389 783765773 398552130 264333575 407099298 619649847 455938451 122001060 214649541 207084127 369665123 649107310 885652035 997204273 523657307 894705117 447825401 467815282 788579755 727021415 346327415 672964094 458927327 293082155 368588592 372260935 571032805 108193182 785938138 739970810 772218262 872782759 843351282 470039449 705893911 750904940 331348751 242437697 684057213 885432608 304920779 134409792 450836132 879487152 762957267 711568339 831201457 442546646 182028791 807205731 640185807 810945879 172649508 349024756 398821008 697143977 168984387 129102414 956388355 255384813 498111052 971458902 273300579 460608718 574117369 832464139 684050240 488752067 625268021 845851290 409021468 265073832 549033058 898412768 786249458 228359732 536165596 165080574 555163221 218620504 225755261 373417235 560856522 571921890 546681917 158211465 228297325 499525257 956888962 868554874 930508751 491677819 352706338 655831599 122456577 784618971 873014956 441373401 806548649 840039623 145370674 244460202 448310808 943340742 279934344 740365152 217000694 559633048 380844023 533911960 664416259 278456176 302342213 595760075 642405531 639322528 579021007 404867050 419234196 805066206 578973133 551918734 909995537 123084256 389894604 767564304 618659308 563813444 629837481 354179901 436205772 487383937 990630815 784972900 570460633 328002670 933497360 350786900 974561511 372911586 912069707 270303479 551442164 563202927 361788699 146485778 862865966 955784374 470743871 802974421 254306986 265597203 237003183 733495288 691428432 343299037 782054484 363654456 384225762 629715872 228767790 517880086 385331228 201322158 125735369 381200428 316117463 451284735 734302200 238742460 941425061 571811284 885742199 239550745 952374851 594966796 785181612 371798398 652664992 608789065 168647972 111681380 897003228 301661987 510489174 704759960 343898615 351727958 752573410 921821446 208934461 191554711 583462213 932751615 239375011 130164955 703485191 475960056 330281903 200665589 918746271 173049772 860052177 182548672 208910925 142015451 533448261 995939009 818367454 238887165 554338625 840731626 127998708 686802171 932419201 464726950 445082419 799252013 276602907 658194016 918861263 130532678 475744000 831864754 128572023 850651049 266355386 152018141 565638318 879968610 974401595 978444429 379362672 400800938 921434839 551725846 972109403 464858725 418351655 547678286 745733387 990998244 471230451 563824501 213412836 615516565 914488800 418992058 545753785 446086990 645649454 344403075 886015030 919039435 742894111 699962928 657958866 139060690 356330653 383940494 484616188 802724133 834553701 653772655 403055700 910702900 376320561 872230512 273677777 748243893 303393672 759086447 327709149 762647112 631136083 878706780 500864129 351670221 294237512 266370341 607830515 763955282 625958381 606633660 548745052 102413327 471525565 576527938 743380617 791031074 237860593 760752934 711642128 542552041 410752007 679681018 299118543 431395213 303295626 306256562 546615437 242075108 961173975 785356986 130833118 602914673 591187404 781184174 760714155 328718918 271317766 234534071 954365838 135591129 875428127 591590192 252465760 637194598 688852964 207409797 480017703 361309748 632226958 657393113 724305995 576399385 919647799 772176185 951463842 446741835 631976244 624777724 991865909 736998587 274775075 411120858 567155585 474036986 254201797 904898716 232930378 538843394 379723048 667014698 242738487 554099123 179294872 399180509 154134519 224964343 590172201 487990897 731148237 213513580 440801734 573483539 435544068 309170435 321066773 338535854 126061659 316657416 227015642 627436778 914032324 833861678 382521379 447640209 300621173 601766280 161921579 579598381 141937208 117975517 907026650 889494172 129940371 256712651 317053384 209883076 504675756 693183790 479147905 122508486 111280979 825989220 819371034 151102344 745410676 975964059 800130196 460711799 772394067 168715441 477546161 216145104 327597413 336730623 694318370 283003390 645861048 671305658 511013826 632342561 157839032 244694560 780544685 733653940 619886645 838546460 215679310 101420073 467180452 507252551 214012212 105760713 808321957 656084388 727197911 447285143 326097097 718950523 409338826 678957351 869674880 341106206 221896905 472709386 898397918 106525269 688739586 556909660 642700193 660571133 322626164 578345618 682654414 767515891 637350813 447280751 489167953 890661574 635954621 396704336 781477632 852173619 870737562 913827918 575669771 840149905 754849316 930462405 355850546 158864236 506502763 276432993 274424343 971490448 577369570 254939668 695587853 155139889 347595281 358436769 323605679 874908105 908408914 121733474 619648314 718059649 583651693 439825874 715709565 887828591 278017841 416943956 581984452 905829855 319880608 994264700 238835200 285729035 591012068 311175117 388069224 809209863 949906974 265211533 732939814 259738747 862955242 553319501 549036771 130099873 898009012 594689888 628527671 691621372 154442768 925153255 324642100 915553578 663321808 207958437 511557172 900603334 885165304 624905921 447905794 296211673 615267966 261504516 331350992 683625791 146489652 565577064 763189111 908596449 784711493 379746556 970379298 765747517 190051107 937513147 918292506 673802994 765116278 614935295 902893339 916723802 106566047 589950153 977723459 149356552 321485905 417977614 294552216 489325412 855537158 670709811 156762214 368934588 670490723 450997068 847511564 407782003 892723303 191762923 700188043 565866029 719089189 996205197 843144396 102724055 315346083 440155492 400056621 252744238 588251327 799729538 793896434 147318982 643887560 729607230 409742250 886116440 794387213 691508565 219915123 518472065 891285059 431161790 593878967 943641172 396437364 647186831 329058772 559919564 698985566 182871397 582205892 830133893 821893932 975958904 590357206 939309009 169897831 577791446 114146637 728025048 353864374 670780719 905475009 442344955 420720837 712791952 820517368 307824974 219511439 358345114 174429151 739865073 519974188 802466712 943520602 540431203 738629692 233343965 965216848 118264689 876660326 742325915 262697880 787768799 442612840 742653699 228505784 142085444 228740525 144381864 699703502 599648846 166718792 464530640 255819218 684131143 128030729 730937561 961141279 138280722 914142392 339490661 132460937 377931411 315832893 645797368 152636718 919264146 265908556 148636037 110776974 821725593 231983387 286407784 916552033 707297129 883045184 648586286 977308610 453640837 299628150 853476853 651230997 316565715 326245978 881174694 214496404 991781434 358252987 595169508 102586019 630367987 690590744 324438173 547012993 413259566 265346013 976076952 995630463 930350284 848480337 832953648 596170208 964360021 961098477 226546121 312216086 216978504 556790064 635096793 278420523 140934579 393368495 598493582 823289237 381908812 945791440 623741277 851096034 208343543 698561129 128324130 640893104 303410908 688629549 863073953 847585314 641172121 357859372 234335874 626137498 465619459 810171156 419981975 940169945 745050196 269048765 923043821 260437258 613655255 746553422 822207074 847286466 168676655 656480421 121156199 421167635 636950282 871232184 759931616 356430929 190131624 393685174 147503195 634757532 324217102 260831528 225958143 937884598 560664173 171752837 229575824 669236246 650576445 539800960 390944134 196019525 836734754 302062685 203045333 443749804 453147966 662909490 144952961 617360358 160891917 684444555 876080118 820748589 153994065 884298952 533657954 828412023 119884898 744660111 288666514 288209177 942530405 665092316 609747235 879690799 755107614 434776499 993650782 990325829 198047871 412415761 616143067 671068778 233051828 915769469 685169448 421023474 973000519 742318360 661296680 967997850 961478832 614825116 721343616 355627639 164523128 122396161 722576904 357948568 655002868 629382105 218656503 117666823 270871947 472853101 297125171 856817282 231167229 358694081 823579964 185434949 569115106 235962732 456000132 410885094 475308463 446643567 916881680 262809504 947297271 133329164 368256200 554680145 622938142 781707498 128715902 157933709 914485622 667175424 593918436 866773994 523228138 693946578 850074780 831587684 157222723 823640393 452886664 467562896 876619627 650771935 189133611 495366791 744237511 529084806 445990019 730956239 595194058 477465679 689411028 571713431 116719001 460948086 752457009 892338603 813428555 169185168 940955982 490438877 253283504 220540999 997974424 306166051 863570729 173653310 559541990 928820764 888126836 348037386 606376827 168092402 904750938 687581055 164254794 887145024 207070666 713162205 792619193 570533118 451887258 108417764 103040424 522047558 387551404 217846808 738458565 591813836 365959973 365447851 743680411 738908253 139834686 397529792 880911448 604012364 299482380 442081997 798267934 410453482 748177301 844632757 208415882 500943229 105142184 260611965 978836507 622415440 569469524 149396479 177765410 684797153 626299045 384937429 790985848 615881627 599347676 333413830 515245588 457075869 909509647 383317653 310595888 815116567 121146835 687944917 551194440 645777421 155343553 494867537 517721782 985952253 949485403 823194922 252897397 580668426 532258299 869381845 152897991 297804566 214596074 376595313 775612724 842517526 735294270 335862168 639220836 706771431 673161030 357552533 706686209 722508970 330935856 744184100 389362078 187979819 877061796 610077087 696983304 838944445 738976917 252278653 442972387 769085264 248150302 873134806 582937014 211452272 573332461 647744303 345607318 869129989 144431010 772693863 231378562 271676987 945339353 827649854 363958158 313546962 533087179 288645093 671235688 811350037 398783160 450114537 504184841 748965222 121337911 879748572 917300161 197113733 917423787 291042081 318838739 517812116 934569796 337602587 106612248 473578958 109790725 112805197 638304897 919677022 916646137 394817762 977046181 198637964 644084460 871501004 494244519 954932172 931988337 131460773 222793715 658224700 762049061 265788313 214514668 536288781 554181674 165137653 641005364 959876385 566883682 565948954 679499619 316588374 575100896 402153359 900456205 413883799 430879629 470275844 494794026 356490971 983630003 446662894 879169249 128647920 516404552 114809075 260610711 540447765 372686292 247905698 344403192 953690147 106840525 977088448 625050303 605707347 953990863 674850355 430423521 155579247 497337945 857503349 565074537 423665602 976802781 294833147 779454090 886101813 555932216 199820358 330369351 744527917 921573081 791017165 237505326 380322158 662101677 207949009 281219126 374385817 899183688 344024329 330341429 751224201 931556500 638954540 140130696 225623014 779110210 536805371 272778278 346389616 113757278 862606188 557107500 484041052 958944228 276324463 483437959 493646872 703804335 422048553 215921894 489051398 640023393 661331590 508383146 777417158 614208530 846126670 466814597 844434375 296900535 257979052 768896439 387330837 540020574 607940549 107864526 340564265 275498391 190512778 500917316 651147920 141451596 839826104 952984918 514264861 195238045 140104389 258772668 274528424 422551050 312158171 482645358 485230727 702108822 108744795 607642558 547258690 895849350 582287489 127352142 184564675 109884759 417958465 865053540 799043572 442930111 136986095 285790131 746885772 474177223 415182990 447894158 511388973 117922704 177574820 393632140 299565373 796239651 366912275 822995759 961606458 544867887 135528975 584255475 723423029 515064967 885736047 323110673 274908513 624548425 201539847 723067907 662830030 790272738 979757821 427478626 900216499 252191468 438619387 470256299 880686851 831095747 814694566 616540357 507161100 652716880 328209531 410390142 724776442 335657644 196191467 705416022 989540411 578608636 687354248 471849458 574449404 497752691 258647017 859804327 692729619 306697627 820866947 237080512 188444350 876341236 190168916 357555204 765278618 222702849 935914042 169769935 970625913 342808905 842948648 577861779 769965794 396392202 745939971 585285997 740440781 169982202 314306070 312202273 433011949 777773614 901070489 263912568 192122451 941715955 483225628 968706906 283300636 653931193 173643041 156630812 258969959 269132345 130319476 319690150 148962515 129213725 661369861 772082990 471959018 698308408 329547330 808790519 905987225 819775733 984876110 333964244 754201819 414396510 765141281 851811731 219432816 699278410 553109352 204078600 598173032 386863418 305503004 577598923 951981587 263598193 584908006 690251387 102974482 408504568 418221646 581880381 404184588 334473781 692322644 995031607 485228435 504040587 236170080 332843706 403927130 173591659 799328579 928350719 529857827 921317751 609226961 677193438 774201165 116204665 877939447 574574089 150275065 553056261 419861506 760545403 256992680 386290123 831069417 875372404 512846768 437037313 581581394 561581310 565297580 624628111 421530060 404299538 887646172 359797738 776770499 678455150 670300599 670472995 244234045 946633150 333010504 664095770 475425366 607009662 391900559 945098805 333282832 493514229 597879107 994456393 229677452 329567852 497804433 861745238 793521761 125382585 518952074 871775503 506090276 380268574 938851037 225038228 322527808 403138554 730825967 704593048 668992093 225393084 627931768 717048496 676558711 510673718 862316202 450755593 848771072 232161457 473015411 715785164 305817638 805838570 456095574 219524321 853760007 436705585 471205734 892234567 932244089 323616848 932862813 194123336 886901442 370524723 803521358 376764656 185990106 414830841 460100563 705371869 840746819 759638494 193888967 878101717 568166780 311552344 377658701 865909891 123261770 617982302 994780584 378982782 989214497 783361448 378904648 758886106 376579090 398261627 798852563 681498109 638316153 154493418 731928553 189014968 126899090 162798046 843134774 551185376 433933036 254933595 599533252 211472163 624270195 898092636 980734932 809860485 268065359 901235972 593793798 781746980 604070090 717797217 918803642 613625682 825517011 805991663 209078513 498151158 105857078 987901691 825598576 828333747 231853882 329798062 149103190 200682369 990175327 366876824 323712049 592828849 628633294 860659822 856486414 364569683 903033582 511635096 866674716 563314559 784250951 717395624 478353255 177057941 190602698 369634800 692559599 943818844 583904421 191252931 450565526 481457045 327801983 914403140 496644679 321342121 378947155 782868736 846623811 659482397 694441175 645828228 573365223 549063162 807688611 717756491 351954886 803914384 973602189 537110869 944101140 631400676 185489784 807173298 183794834 521536551 883295942 530742910 653083528 180284383 713340051 534793004 254090319 639980820 534530341 110923816 566284436 903799198 376775341 123219330 579471758 129877434 835410262 348724867 525637883 946256649 587177554 803880396 158506726 922118378 418159792 517387895 754818516 460107431 393678619 353201586 563258891 899811665 884150761 109601714 232018112 929907135 683350497 111986052 323663859 428434588 688540081 605717451 452644609 957609491 263134686 622238300 114794767 103136565 665314256 911648597 175817750 544702634 292790307 489863871 618173476 229582289 536098431 841639036 438283321 242955552 604553355 533048412 425403757 256965391 322556095 690301907 419349365 939181673 362663337 714988471 894773157 872227777 676920972 564905543 299135337 595243530 675664070 391773389 617078259 269753519 399433904 311750457 163712898 332533214 206802958 738522507 706380197 244032269 365013475 694361965 761346322 609594265 208344728 419624222 938617532 826871948 576680864 184760637 958738162 205237798 947543228 847729171 236684341 391896435 227357142 844264499 524884205 344516813 257442754 354005904 312933907 969508498 963969336 336855671 731588355 126486760 709722576 352040973 355694168 359629658 346796051 906075960 494788140 238134209 907455065 406123996 110667600 131595724 408636563 318317965 500464309 828249918 309407629 582369971 820118067 505697354 226282838 917902965 908694940 411810915 649965202 120761673 586685757 202667888 306500731 984091726 758848802 513017429 822156738 613420086 768879450 717480235 514502219 439948434 511285733 304208368 239392163 215773617 375436620 417417881 516514383 960996233 961080226 979823165 287961374 340677674 754853602 661824594 958945418 667378263 818524919 499049545 271574423 214161293 528159305 943193108 951546367 830319098 688576367 157226736 583688417 689294484 421788511 616629566 417358000 939038415 884456480 739048253 642494948 197678702 587742225 456612093 963689377 882174023 773600490 726309597 362019715 477272019 107005086 911910420 800019883 754941873 179996337 626209098 118224031 935516279 694141719 318918347 505641173 579507030 600995086 570760623 333904116 612467091 117127360 947342441 120448485 547747771 271654477 678095941 226162582 212133659 168187319 527662456 463431508 219729528 143325375 219702845 367457035 808669812 492057486 407187141 288174606 639720766 797709665 513791978 328337983 696394118 556520322 916694843 404353886 308028145 900051811 721844094 945148648 553704819 700067610 621502823 808766311 235480537 846763684 881573107 963744513 521088406 668886603 187946049 739231802 521617231 377073835 193413070 717253918 650789616 653361069 714250570 390696588 259925240 603551910 811572420 328894442 331705744 645191370 772561978 557277879 848887207 602050849 517550177 866323453 647289214 401219959 693073355 137676736 105651040 196989279 490027135 950703314 267222163 820317709 794661405 874910666 514562375 174684890 695800971 284566289 904181398 357545047 351134125 706773540 565707776 277283848 593790256 132482630 956759853 461695806 400575203 295874031 254768873 116753270 271195213 675045991 683015049 539426325 519517284 981157439 169742368 568748084 816183787 688265040 590399444 219833591 630215838 132681512 778211585 909403430 926663305 449515435 245034285 476842208 966640775 160414033 929987725 574690022 682936086 558572540 839639810 224406228 722135738 455591886 196638360 668208656 150105084 321797453 129363294 482585965 724520485 839624237 574167144 373045429 669947666 548892976 185787284 275858643 978962604 643969653 119308942 587982785 529679496 249306366 834843522 722862863 317127704 422281023 375174392 174908898 422813360 650353226 485422373 558578494 774238763 719882371 858986295 623526461 780993978 978252003 960002433 332594967 232248994 906023526 185117642 430539862 575390998 519227422 851333209 319286427 986337291 479803851 577145918 935753841 378874850 665728396 795871204 337128160 990783231 985235688 718871292 574456975 545339732 970390081 819723074 744992006 351246226 348062218 620953568 454795159 816758390 251954470 504125823 527259767 664196930 652701442 482952118 736685774 917087489 236565752 156773604 701456202 723528712 598197570 267990092 477584675 622641429 229530240 437912214 149181857 457668543 767520009 917598709 783029294 793631459 546179472 396598585 749913585 416965186 493337422 984150127 923285463 351095576 825687245 839203959 470979910 808745043 447895443 177590577 626901503 410980995 153834387 623209301 744808750 143960267 234366589 610217028 223398564 719802117 670690782 303109815 463670317 502158672 828257509 376919592 174085902 531820937 258018805 260059914 372634687 752655879 768274305 203003842 130478324 508981203 240050352 209923018 362650835 196253781 604198540 312240291 689760867 193358741 620637010 704933877 150102593 899113654 932940069 771116674 988669059 609620768 240269977 441945604 143689878 788431752 113652020 125707772 917505346 530534463 492725212 514645462 310636808 199755211 305462324 956770622 385268672 682621191 652931755 118658932 915455497 940703788 718357684 819878961 347708275 427774678 150604212 855113668 787780387 123627084 788954142 740872426 545435260 654800343 942450147 233617793 231893255 268949013 375143447 839093788 991389354 325556953 243948710 981973567 605604175 315572563 285378494 363959417 143725432 324584389 546147906 148999745 446783666 377281807 453065599 495958250 770976502 709470218 795031321 477669733 547824481 222125304 805675414 377366679 120665213 908039731 693195236 936518224 221870136 830539441 194372629 448410956 934120937 944773930 459556144 592648959 943890168 938144957 677645596 156720024 948754040 312093939 915137726 301209297 267854737 221774336 680589324 497149475 252919685 633238490 752490564 252723629 486932008 915536042 196435954 180608788 782572201 700398330 892625833 619402293 424620018 114048245 765659253 444736597 648005018 835437437 834732925 165601165 200152327 793085682 936798984 179721077 334654933 438635423 972471820 328946346 806111475 983716221 683212979 598500120 377810996 102052056 695173670 960938143 514048297 806586630 585096150 908447422 747142196 922125271 456137200 973882494 442587824 796198874 617037077 400482914 704408130 993862536 460470044 978757058 871944675 704182732 347374941 813385030 120189637 516930508 747683923 845635064 625111127 188277148 343740076 167841704 705038500 554216604 609526012 501175843 532060360 660623188 782267260 687053214 563247595 987063003 417796271 439041109 133858557 126240958 394732686 297697496 447847936 503484879 851867344 645624744 824178443 957608073 404130482 185586083 904276397 891124821 349648096 124752639 876389193 817228823 719193351 929082075 735001462 369343635 271059556 176157536 585446320 213369755 916042577 207226522 864917946 610345179 440503126 405382853 850138227 941139936 462069040 112900710 290618621 780481055 697922569 209228303 846123422 543914894 431241920 295611405 121449611 121210143 716432490 719019713 948820555 851411179 337552341 478875792 957251529 909776565 289947660 343770386 162710799 106004213 547755422 858940550 175858279 217745216 510525120 394457969 369926520 200645603 621550867 204298810 744044809 765706050 952505348 387292859 402103957 908673274 339639316 242958034 187156332 554025411 768337349 149796833 947548152 437311987 264042827 690626989 861755467 615394924 659571412 125234885 912313577 457239560 291819166 470665292 737282528 335440444 142975059 183017760 147765709 693618872 549069227 330647729 909177307 528051085 904349132 111922594 165614944 314625698 852717666 894687115 886964750 783341080 139197335 982460412 441065913 741078398 336656174 697033860 731981324 938006897 279605907 895948418 719913990 945695059 525726279 615992600 572098129 405496446 157317558 933790496 456276185 292504935 699264775 211401287 489118746 892435760 367675772 682949878 907247641 533033291 925410517 125810748 912521510 578597606 992988019 509286572 574273333 991933842 371974218 220457617 354958607 275312128 905669656 441324288 102544748 209518745 117199248 588637977 917844208 777632057 139132225 209122641 941263792 618473129 166519876 802558802 673107230 701701655 996279290 261016849 542379257 409284649 571381065 937898530 477126304 546092890 169777427 404624213 786088383 145429269 161530000 614002758 169895792 334010616 949624998 496105638 756485808 883015306 345080776 591966666 482290667 509156683 452750343 821580822 404842755 863415655 656195975 221512267 123606370 310855424 353293371 162111438 823727213 562406127 322806328 223802218 677301620 827973381 479923512 305024342 305779935 749745409 528031798 244213956 807987866 554803167 908647786 607892212 693601202 675312019 577637512 799723050 220567679 602855407 522045821 574712816 144242341 725994258 297155359 586462451 123258615 468366992 400837839 331621175 616956789 156529109 299453929 738213378 105612813 792792056 939932850 146659979 360587331 647725770 253122670 295680185 989881015 988320218 302757612 341252744 207442406 327943196 682182266 431184837 944267844 603894451 260924521 416726009 461295878 292928388 499901251 775768802 303384646 465844501 702736915 331081986 971103700 760765370 538574799 650421275 331642464 929117414 771718247 605121772 743336443 239249258 789036347 183623085 351207771 287171526 689892429 328054959 229411225 362494151 692586099 706410871 510220482 163972884 471114694 406062530 983394773 780900309 111639433 511933687 497548810 104960620 356428199 120019232 486494009 388576728 680702092 420629457 240799716 372944435 254281804 330083374 320785472 892225535 478946379 506173149 559356816 229547058 642597379 747517474 771556341 874240321 833172934 283511323 513293112 771977158 862618320 202307511 672251303 448388911 401959567 174078535 114249823 756843508 333188104 804713025 645631265 816563017 602575754 998080089 245840278 658941563 446656165 687474749 771870494 235989605 272928501 836378366 838281884 369004154 248827017 661092282 921894810 329015254 105636244 220031278 839111063 701133321 643337483 797638335 535513450 833367844 398968545 118736421 974185524 173194430 735752752 784738244 917071613 519902093 278603621 312119258 731534211 165813793 640790133 668535113 278952272 171471456 683987642 295060130 467795759 286784765 646272131 731198929 463946421 928931678 526928729 980750912 577017207 576791871 938799484 737202913 880095831 203122799 927200249 906223780 592659590 154164751 439646470 920757621 727874649 571832698 124200800 650916709 560426976 776412519 201489409 944429338 118389741 830087915 100090634 784286115 370395703 397788146 980622093 234074804 491836635 812004001 114976442 656906040 614300436 130990375 794503656 243956829 245926221 872545045 412826422 783549005 990480192 757572194 555009684 226805030 837254850 986405369 292130330 403307127 625194958 490147852 335979728 294229170 340895682 138645336 875494254 153237245 392006006 578450782 339065959 332389210 280606916 435622526 787786698 613047418 451810418 701637123 121258911 365784558 635216008 801243939 586265408 295237142 434104191 890838306 919977999 845389472 151949117 242779441 456176293 465051101 735001917 389710566 902448785 564212944 237772384 723498418 190826822 354942761 812764403 302189097 642680723 308573891 673776439 175072897 561982131 463621931 902492546 788975103 506869742 613954832 600463441 261064480 599359791 667341559 764388427 367400457 980263249 546013630 727885763 979548236 675287372 866304517 965199481 749177942 993604427 442765197 294102924 989824774 856859347 556715334 759961721 119607319 632260344 999131660 490882244 149272824 823613711 480772781 244986173 174170264 768784665 196246798 215986612 774287224 593958741 377280730 316952494 848349654 317035306 259190460 189005366 275598407 392796976 167841527 601421077 927523274 539734981 159211817 260745776 347117138 290034648 151564313 330096279 616448708 328506897 416698943 956128333 822323389 322864654 183264286 830645589 714934097 285186828 549546958 213975594 498621632 918269927 556401353 286984707 614290061 678454234 592437557 606421251 193282327 868369703 918315941 743915990 311601272 731426056 847828518 588220977 605080600 244156561 115504619 894026310 394529653 522166083 956436358 455526674 646344747 976162755 315565717 921313894 636570658 128237851 918818079 666162900 594022857 428015791 878044611 402309650 131037292 633541363 168877560 118819721 285266697 464401525 955167497 199736814 375531679 238544709 692419252 169611548 101879319 578231333 791051929 160111741 570778299 137671692 414637933 655453457 600634083 401218023 723678822 610993207 752036467 492890243 822170580 354278855 512745236 460522952 131016096 450587495 650947956 569962383 193254833 693391069 548496581 782272723 267741685 660285951 797318569 128272947 293079209 546908439 344978740 438833306 981761377 811563739 760546323 931445175 295471085 150927229 782173372 389764491 917122683 159034732 636686852 504141969 567061262 269574706 197979336 209135539 217789557 166376616 887857630 846319034 565399759 172219079 514842830 486354727 848872517 319492326 212851851 285294453 224291964 363251128 607616662 702433374 767121552 162176086 273893043 231479623 775705948 368994972 662163648 967312507 307154596 367994480 987871273 129925019 108807449 362044087 561462354 670993356 819391303 349370555 402209219 241561326 485304531 407599601 366661175 640989277 347587515 801380203 846422143 730931149 693206442 883168139 640552267 730223437 857557765 384811865 431847972 780628951 508800319 368961342 930512160 889951011 612946244 920653483 521811359 511245329 404714339 682485986 981765759 358198705 267614673 898755861 680197916 519246015 873997842 420873152 219275595 358932573 227347219 720086963 163996034 388696359 568640883 520856652 243401084 757740089 668615482 834184075 141738359 612623395 191907186 269458381 261606328 671149060 422313092 745529913 721129965 698754990 770687781 856163530 323691886 856485698 373949258 850853658 306932779 850959547 702304317 950087099 272592092 171706669 196895831 794235149 868053113 592639729 734299672 139466463 433268337 895432343 126739571 674893414 385633174 863161589 121489315 145498797 820019136 214989633 763387829 516292649 360822385 362312444 561727726 263648714 568059888 769337841 102898432 556116844 275750514 850407714 631777978 111205948 482790411 171386892 401174146 943004932 922943167 370653536 411220064 770417244 187090209 827901839 399266424 604657794 616904554 976194377 170464252 834311764 693431802 266654790 261796962 808311046 693015233 296909546 938202164 159049337 458167222 363460580 769509761 831842350 459098858 320799593 447391321 775620380 441379549 776746257 720771389 683129834 854406512 575326120 654803490 284863926 354458507 861488465 119607801 223437515 817649811 179339032 329823856 859461101 660633039 633593213 272898309 487276848 162046507 622615241 171154709 189635499 492345793 660947793 135954721 829130347 940735716 419205505 330289051 464630269 891080792 540163318 577110542 901984360 283794064 817647353 279540480 230767123 822370956 909892331 994357608 854287101 850784220 167654560 416801276 556462517 289240197 292989174 444339701 466103361 610557862 400119144 519846520 515169602 462735713 892164708 657906295 242957157 534983402 620241638 188476305 386719484 980922233 736929283 928070040 807760805 940030764 762561041 662277235 426867029 120744956 958758877 452913045 239644859 655723852 463231550 367266461 394246759 404047922 635815435 326541622 736563553 836837199 562872323 165680741 545008657 225332915 351859719 534998586 167866490 658939546 166432949 464075117 824251690 420804086 121102547 107294981 657988749 429890325 368151996 429333897 535054854 546080488 315345659 955307620 464939240 109063877 895037834 711319204 142939884 815394446 227006984 619054722 818501486 594675666 546625941 891745275 478014013 481402276 176385130 531591980 314277614 363698106 897395063 474526951 616865241 127730355 780689902 323648981 903853430 947204159 282301506 841918491 932968711 708061260 273035389 946138772 200522177 574518126 594186196 788193171 184911594 804187759 904568953 843435811 520464117 945328143 544734729 340376239 949270193 430049416 152236387 824954567 141668071 954232331 989405517 721750525 418698969 744696284 704292726 318001192 354769918 339305963 434202345 969349620 217808487 842326473 876172911 393046027 696281746 131023455 324179180 712509756 344948860 368446512 897864672 297293103 715278835 443375177 506396309 177952015 880508926 963628876 751010309 806622698 582292251 743124303 477175267 275185401 192678219 385717468 748731297 622344425 464964016 703420711 224878465 170540761 953319293 989269074 358965799 476593824 189449614 635499249 361006611 690384676 883451616 801392123 452712852 322955233 422440104 818951787 370998107 831500151 790773298 271091906 459976512 727827897 598325082 956076002 152709378 908114211 933991578 314106242 849882292 957292733 119002992 112398681 101977863 414518199 468224225 589808028 777747410 802859882 598011140 841612598 914150706 563173302 901470268 129027325 951577003 805707805 530183943 436444995 289142540 436115076 278240600 703126329 219790157 549005800 380067664 401939530 199144794 731105387 422535840 390155813 429838533 628052509 722583463 210378214 427030094 982485043 412070676 324551650 140637779 439061300 506480629 513313775 776836746 773976400 659037503 115015838 429799748 449773310 588289389 519361992 281153894 882356672 318066542 520493927 298079562 708807221 498784489 738692746 175992797 198067071 590162601 341629416 199582436 616815309 622188019 240797934 784741856 780928766 494373655 139039896 456007866 820661332 963141586 252563772 818698673 947440149 209675820 224627015 848497023 356067448 219361321 624197853 382064495 585001373 261683903 783607622 196935263 419727191 970783174 307414795 995239304 793569759 121593572 260391136 585550353 101237461 496698835 969600727 156489774 863466662 357937912 712100369 564518137 454044709 486778525 567503337 882948154 535682157 923035807 543511080 131272621 790391815 999565658 950510345 264443736 130512788 765668735 289179423 352863727 449559129 967711817 339725980 140336384 852895252 575547067 794505796 383835665 991822497 577780529 742715989 611009683 100560361 499350323 971651932 554632040 981461386 221654709 519108784 406958233 615190457 443364657 736261673 609670655 100348821 190115075 493077422 174144559 620080892 734753994 396273757 422144729 501100032 746413350 735577765 775630162 647358455 630598298 296820873 342983274 498826483 437564134 606509083 453030633 149410186 355920235 390601949 252392070 506110892 389610396 368503963 381825758 495519705 118002887 642305727 534277668 154441203 280774391 738076464 368956835 666792977 287226753 702114018 224599545 226555407 856944704 328053289 777319108 208285979 649743509 914411379 655001050 937066524 642878501 284291358 139953440 589543771 440444260 480617701 881501384 239233437 536078216 561222717 810184843 753796824 205076872 366663124 675983784 490008918 279083764 891558128 447042950 897585453 393258530 620042366 844495347 470436116 186426215 207277488 540226911 787900619 214194005 141745581 423782424 824646360 949070052 649474376 586714850 917946014 219283757 988373024 185296972 151659855 353187739 316683879 428539479 730220438 370973581 632398923 890964718 364771746 496126601 636888439 658049957 837594871 726307438 915037192 799028045 215738949 579404403 332512822 588557886 446070145 180629380 545807737 270112903 659048517 235206415 646271242 787903053 957860147 595976812 348232331 370907421 896365903 749741832 972219494 557289776 772659364 419366507 958563078 181232356 911700267 288080686 106992501 210211766 451645154 288728069 227793008 407927363 385756074 112723352 815358840 919522820 722082930 201794781 249908966 972551433 331783759 509585611 128724935 654719457 181082073 990041955 811824860 253734604 455815223 298381697 324500914 271212957 402682021 872389721 678239433 162371291 726989973 781521531 994124521 767942566 664276475 467757464 946669434 947944627 159233634 235292095 572558473 321881600 698888219 229874241 313443537 776743380 798624798 104982793 641874208 846056567 772570130 631858117 446095122 867485549 588950958 605213838 511451014 176177672 108625288 536893613 452440636 716302175 982669726 388984235 838833659 476315327 533806421 376672016 925158989 787156815 494689712 240201477 265383116 248939595 335336314 377000213 671131603 943989642 416387437 741520080 968569138 924864348 537192405 900380951 705139674 646260774 312188279 615788208 720819009 750908641 851913010 823979255 584326988 224892355 329746057 349813850 566000673 177306163 778117820 159997454 651557884 752695738 899829660 225071260 617559363 672391302 951752249 989955173 903436301 905926057 451147755 447148896 181920674 973304253 277954727 567246810 522775971 785362133 699587092 235223809 624797434 361407095 213627911 670685997 913696742 503790956 875133770 930557059 131640734 557535019 554578332 710605277 829204006 354537788 317082294 205254388 751200768 243349944 907919235 128533796 358807003 129393202 402203318 903797663 860340549 311508949 737250711 263582253 477068231 387703300 745991927 317464704 104421327 794451880 563223471 425023104 263402063 964656374 670805182 311178974 779420308 866411387 255183134 898606377 530223852 281151173 632972120 258637073 812045483 925234568 692105651 693703006 474872394 731580371 942864299 298122453 786110926 643758317 663023475 934899676 674732236 453333968 977619464 265624179 461776182 523649031 738046600 597127372 484992146 657155416 783409824 302553799 321585862 186760346 426808244 360107955 174667455 273684811 530283296 155942035 449202500 255149032 899452769 313696502 726196669 602632837 747169205 916878700 272069116 321430488 293453339 597115161 457125412 621920691 991991102 335612644 705238522 796812771 177546781 710168867 477964769 558355194 772155711 594653516 284689098 190198096 392719300 461408166 175292962 569287629 912978880 369850734 340039884 863250375 765991335 835421321 639713666 271571826 587560319 962370829 745051675 831440369 768862812 944148885 598269873 920108049 210406167 884153862 263585221 244178113 438853443 992219103 940514186 930546618 411133805 470530368 641568983 100347601 206851293 940080968 565925580 132658102 445544857 664219216 468728459 508138536 631105446 823272812 580089706 476197006 724845942 474611529 541933972 445195617 241595257 809701911 818907059 657779900 155004809 842942829 282878879 680630082 571695658 468244177 366650994 106429304 671505768 652227354 450941198 765689932 519231314 930388999 838554423 852068329 236023701 432670365 108867522 663273948 307980657 480809507 442649216 178607303 934592185 533153167 769113296 751226474 261176953 475305483 895411920 877798231 373001178 209301357 887872374 962664006 329673039 917470225 367856839 107776476 654243240 869394272 625434866 635599843 726328643 120292280 706094693 121689542 852572540 860645357 324537046 450465904 584849620 875557369 286409624 177365924 674477202 873111269 227918959 508071390 273304618 681698679 835110415 380182465 467249382 766079229 911091339 929396509 559547333 216152525 492712802 911968927 200233652 683864827 642088808 676912105 540684485 182243199 838381463 581430669 630457699 588854673 878535829 943666472 651248881 271853136 472373419 198583855 528635119 176104800 891194376 759807873 253532684 700823010 240957758 855924461 120027774 935079959 868511120 652968575 538502583 856159191 679199248 467251230 840495316 674196517 280541420 437236642 783624066 232949730 860986538 824077981 938213731 850093961 544225348 197875033 580236754 241376177 352748572 820904819 667223037 682350008 457800354 552883430 455806813 509970267 618676187 551501553 125605761 710957013 386361056 883009853 167266876 683533291 185115866 355712900 281845921 632706518 658717907 211879375 965678023 831596482 200451933 630450344 778125341 148995725 523483930 743969856 650443133 359560317 948399195 237495590 884906529 822410746 735332949 287324275 655867187 289389559 510411226 870871280 880279030 118469727 517512000 139681070 629881025 227491356 731518657 532605074 843122575 116262510 999736509 668420225 570332148 890760725 778522925 729243650 740696984 100369717 627151788 640497985 887576803 216053628 660574480 343424308 349634991 830018553 788867810 559555530 636213546 458828511 144508812 448946769 590875875 354543575 163974126 200777697 624426953 555286187 185467908 641649608 436643306 350352119 847814304 164786761 900045539 331617263 131769080 722946361 653981982 318670645 410461005 184053824 301922776 125125318 688970434 226743977 823651336 874549218 477557934 419368878 994252084 239462446 330012960 615607998 456727861 412575323 325858381 530450214 623899448 383352716 107672172 537256789 647066464 537611221 815347376 353252481 346005290 325876434 840320047 845306266 688451262 788912495 156512432 434980281 310921331 338126371 204399703 608198713 851425940 164979992 884350243 592262530 185374793 201326730 722743565 154006988 284688759 683782736 254896276 424045250 379115981 453127378 860848672 396802570 826747791 754106162 992680836 367587972 405051454 495557121 826153187 939573961 152819413 994818521 532285390 653836094 614648827 177059130 518006115 700110146 716721021 421147926 725042107 350304448 196980477 487639312 703116550 595224209 607958187 488920118 839079187 210836585 403549442 373215942 270187212 315681885 183938998 660616579 637074678 246364301 976596125 363410782 194649291 745062788 631110526 819681909 890765512 479801757 246636763 677683083 100753416 753870889 342491373 780738940 642042732 761636704 255598890 654822667 599959153 778951457 712368521 595452390 483619880 931063392 674336598 190906417 789071238 580427283 717303451 768272471 494019125 977087994 719083837 414012188 223541047 226921965 467593106 706236554 138499757 910861836 243970492 961866211 384138109 528868930 820883831 799262510 523046208 979191342 661653656 604236738 174942174 388759331 337732724 842336555 568150080 983229381 480679310 380080150 276918057 632740267 758371466 618438215 605228245 314122302 627506051 366592475 721944550 732472839 611256310 203637813 356752024 471796063 231059047 130291629 293573760 651249073 673979403 362899184 651776705 591297810 602444852 984594233 921204285 612430714 379693952 826972087 500140770 735643772 207754021 141817912 266102460 720200900 296716817 961546403 660600441 123548434 540637527 761742315 960395164 335730739 882093920 618470433 701255268 428110730 196291087 408819675 293295154 528957430 810857644 302747656 646066126 437563214 789666431 459748242 635718003 573021256 488795188 191577469 641454611 658594880 996004108 321781025 535213125 479604252 419757009 183900245 293768976 798808622 308135992 857130326 428676485 893292341 550881598 403892327 204339337 436930799 689001491 136987555 350387737 284136768 539967922 845278932 387642745 896709560 806038383 165364280 792401063 946077183 844410787 860916555 880794011 899038106 388617851 911543673 840198897 711730486 607661468 400779824 839920886 500884035 508193338 707970970 465506795 103650871 753132930 863069937 727387876 410155311 835285909 711993751 147494673 287575596 322685605 149091922 873028794 268704946 739370836 667368713 602837584 315509925 527028548 449254834 639296984 986879748 915634935 196619176 570625699 923593906 145233753 475933587 802254321 836708051 967340051 593764945 511684719 706476489 347920113 140977032 468447752 177038942 330284048 951208401 397622266 500343209 857343813 509247504 333989910 833507625 982699286 519069684 466082625 336656686 797662863 449238608 774007202 330522060 550287271 900431662 695993004 637715778 129262854 447258532 117108364 892033261 605260809 451471853 860732238 717494182 333032561 202217635 114237063 855788804 363710236 688961967 902213455 673835537 636719243 646728887 908635624 618924785 936151590 577719866 343001580 175754892 150355353 855850741 545863204 277026960 907477392 356779634 466459399 988630100 256344924 565219990 863159215 595472844 780965016 337551611 138406442 658409293 579360280 813208297 179951682 943310398 159431943 189355274 791144209 395994000 595632406 996851820 123840701 969771438 543137882 629063447 843681378 367620657 233429079 721640261 957294342 878667392 925731715 357260976 844886650 491069029 472873928 209292106 915658863 400591600 934847872 429316847 153315125 768101771 308445827 711038669 201983813 884149391 496693866 147731480 588906217 540198558 638918803 121610309 429914111 755264637 947272592 336095980 586222861 176079787 154317113 856240806 186460929 487494270 638137703 270233453 858718085 790348554 908606647 499213234 381144218 390657884 865506062 340477380 512860047 142689174 857889672 923260429 422673516 383023424 148970214 640715928 944188470 647164409 622024559 526426348 388501966 861067706 188607462 239550898 361266634 663613025 149287103 882326459 973320546 737434865 941854031 273967306 195967969 563881516 665811929 486989107 101376131 825056785 816366969 428727877 701393751 923037281 831360918 170873740 169453669 505961001 679576366 826862393 160382086 346670643 434786289 249188822 115697893 673422287 489646756 315998548 940108952 854541572 537870705 521611454 168616907 489635720 173731051 172851249 522597163 330099059 436911848 949219954 686845962 468102534 521105547 642214821 669796737 600697186 474893810 960574955 657830963 723855267 637504960 182797366 137505513 933698009 923867786 737467802 278154662 912279956 213219958 982162850 470150056 865890560 543740954 690762913 632289779 252167683 913193191 911517286 304868594 315837757 722724133 172868400 948255830 121456629 605022268 800857563 158202413 410897527 607493860 845103719 734476178 362826915 972818989 320865787 655136781 200572373 130042958 851548508 309030150 843352329 415124760 749190186 828753333 131039137 602644756 405153696 801114784 803237144 455481738 180255060 750783398 664534824 501256142 340553033 787762658 285137348 304470717 725716303 201498128 311317182 847035200 243031901 302713699 328373375 803017875 106723880 718545681 445676431 281162497 536164001 832017045 499974709 907858191 702905583 554371503 469365712 413127122 989523869 621992875 976011498 239351371 703147407 664534000 722920355 685105898 586945771 525775123 391140420 125596194 985810423 576011104 942503553 652932979 461880889 959753361 971655560 505545209 457203457 592778840 931959268 844185536 339076172 445889991 755997585 793478167 718169329 324843090 964908434 508032132 212001865 778879585 428049979 288914145 584572087 652738724 851590223 350720617 366212776 168613542 515125038 704473869 323656311 902354441 932257706 594580579 235386326 526486432 471384538 490766925 769073237 692229540 980899337 680539675 812278446 989622689 340339375 788929692 557362631 381108220 504611624 599745572 275361348 387714181 915515329 967325286 387998165 594342405 964026255 561671862 168454946 715902216 492281375 315071397 512877353 708413739 326959468 340241605 363614891 575378279 169086307 339845479 272811323 964700480 555451339 162097955 174291755 477711019 357173161 402344048 488951218 447390771 567877402 925806117 895987358 177982482 631305305 965922401 894930844 647299890 803420064 719247457 337171130 595655389 585202115 159233935 592704102 680940798 307220543 801049795 949879638 300974914 893250978 466826882 335377261 503105279 894719758 875762905 645969470 647814336 526746040 174665678 451190930 856493568 617516889 549956658 230434185 505498658 325384455 135779596 103112434 782000500 151846377 846191201 118272552 989145399 780345371 571138571 516245082 594513837 599428170 528763862 480015376 275713719 725996364 585984890 984891328 826776729 902664682 555367361 841787066 462052187 819184080 531890903 708575305 183876101 990028061 938677976 686965457 225803983 158739986 212524539 516012856 259656643 695496927 407824772 734108392 760507033 230393268 128612730 701287654 234038005 759201141 134631298 664676124 884375305 579168271 822755236 460701815 126119059 683977897 790465504 526603605 898360589 206202818 706913369 228361103 108250742 993957348 447590828 764832459 513183905 892791050 483570421 845337072 283204086 447372508 814016914 685606429 783606533 797910607 295195254 499525367 819399131 298857306 285940662 211676415 108987419 848560983 233784584 790769094 874561334 659953108 968747985 752317854 746406646 887878662 179795988 252186078 484020769 855986182 237901891 679432440 528208364 912699470 687320588 323024111 267105045 521479221 598841107 294478357 957650891 908594581 203536745 667462233 604003240 436366871 370251812 142299485 280653133 498181611 983738868 684372249 839083828 126771053 626297187 467711360 463266966 976556482 577107868 491899612 922456308 663860730 128303124 916335663 557705423 718680387 834280405 706409534 908451353 397361593 185314947 914699618 440292115 207376543 723826743 265110097 569960291 362355333 398560299 239201272 637389840 394312310 652631803 646722956 667734106 181085742 585319052 524082593 334462723 889495122 992791648 700831086 154416347 587664305 602078526 668787321 517602607 871023211 921010608 110804168 783133654 602408014 512729884 247971771 656624433 817807503 845991515 433128178 144376848 129767334 581871207 163544323 861585544 808004109 648588417 737546223 384705879 986895094 723426104 525800585 352523423 881622181 510008949 445183206 879704410 149113198 768342682 409210393 804069014 581851155 709774938 282082653 927359390 476034456 335139653 926862813 708981746 413706903 453979668 395350587 555480697 416563137 934812438 472633485 893269725 116565185 732649377 124852865 377029356 543667026 360970126 445278256 150857572 447895537 942964275 594328140 530239451 395157032 903273414 362385420 390974546 887207097 736635063 766868814 638128462 924448681 819596831 329543314 829471962 135908770 155631997 351849720 134164794 637890986 816530702 309131750 470700972 481240552 139321740 617907817 556699331 841243330 281101173 704071709 182765333 251751656 849788102 171244283 877149015 539733362 982257144 984641091 536087048 640392500 686092936 709938343 424106083 508894437 792690163 656314638 342379739 638674890 834081750 157026471 849908994 826636225 620309739 627658301 266046870 652208523 224967438 358232417 238502671 668299482 569428182 762340601 716051101 301101016 326311888 809063339 783048994 731609085 593580317 106111524 151367135 944141004 787540907 535617297 159978331 579835944 742333930 480399759 711318707 811545716 907471323 232078222 803084300 561041192 393609242 985107421 251207246 607900080 272906498 361911899 581566686 156357368 613121416 778990892 243157627 229957507 246869230 185682715 721203048 126680697 793083284 220718523 345220025 322202495 410860639 950244911 546664182 990814523 785162340 776001135 495022101 693933282 435784378 990761116 844573910 129429974 463261442 171553009 516494563 339415614 222777756 344624089 139268550 126228590 838671731 185211358 759854747 391810174 420464220 192279391 595982095 355466305 365146948 574548950 631572134 138796257 122162661 871244157 788080096 110124556 611335085 400911791 991041680 388808056 549163742 183955661 729295697 242281282 219931666 762960855 104160571 227827774 327593189 634953195 739942271 475841657 977665409 232272729 992749816 835017356 559113828 107457748 492668874 432635690 350182258 267903243 969745221 283713775 858805561 907874338 939008438 968796023 917151664 983862628 677166460 245194232 276830569 971648605 585047273 765931228 732423784 932688547 480679265 248801098 626491643 968396527 743023388 149193808 190925195 347588396 728851913 154015390 431638584 691752695 469999379 903545757 518059958 618060370 669702837 808449398 994097877 841831289 252392044 701740472 981156250 599723119 420618903 789609743 416911096 331443837 254859991 245537345 121249618 381788718 831491754 519249716 249886689 504885271 915072626 945035285 340143576 228256816 549218051 435619574 842142430 322242076 764600982 409956128 182780141 615583065 888908286 776800420 585951201 210377653 371770790 906148372 855664631 142576211 615643508 363616569 366458878 868051432 393662571 709311345 447044618 171742862 673900296 377896506 356919333 218961064 455652283 968444823 277521077 957586786 608916524 215614976 125644461 851371939 602561632 763728980 225502856 846372220 713510592 748292975 753226878 447784481 170788931 454018232 927044712 280339301 896909975 226643892 295588014 562608599 544761002 317849240 991825006 228398472 482934639 944373903 568523926 352597783 742050570 918557369 765071607 350169488 306727810 241358080 638525567 567558206 384463381 543566615 532901304 758109601 499770604 733465423 648350086 100559116 608124516 847422596 704865767 193336404 875998731 716324265 536407988 601473831 440431808 362505667 663327292 700791619 306524237 868761068 348318525 596415765 396145894 489363598 636719532 688983499 700785763 650876115 206587585 234607347 208219560 591120328 173274049 567142056 887444071 812495770 520936098 633685271 407984630 706976685 804687468 326640941 844289788 294754408 218375123 854641047 486089680 644615483 849899330 209175910 463823376 145318264 836773868 785142955 728404969 290011560 842042328 935964103 169316169 812583349 738285812 656624527 257938452 608553703 318597534 369115539 110185765 581999031 338076428 889665385 227477911 790350906 234454616 446024222 371841625 616618611 107626575 343692339 866739185 204091780 774440682 973199925 167793775 879123009 418208167 624572398 957075039 450988310 233980087 528774566 148786457 763669859 246422053 521641253 946165069 375608034 924944761 497810424 438402581 837223134 669997283 697038894 731350855 930662321 780040687 606222089 712280891 871519876 776834507 607769020 910185830 842838794 855152105 642183018 298294110 175743960 560338195 431214697 309919463 202635353 516408324 843326565 918704735 379287836 634689066 695239883 228357259 136274485 625444620 648972298 338881673 773103008 367007551 360823405 234823518 639539622 735833873 729391917 466757104 187781182 891835314 360355877 214444331 258355186 478404197 605816950 886679143 586920519 594094005 786796730 900393757 201810517 763246294 726982975 847080393 296568474 996478258 169241415 965984562 783285576 799809437 556146758 921473707 696303338 354020118 413295480 122993472 207907958 985974157 195788276 969050921 600389065 480658076 645114752 116708629 188480355 973858773 958944419 894370836 296406560 683815170 698394343 184391570 952665915 219909691 716510154 914758582 476120533 253375227 487050768 823627988 475432481 134819850 833537976 678240766 301081680 650937503 356759749 766130275 783441476 747382455 893226253 478622014 632663186 891160083 556237270 504935786 452408109 409846028 707577373 569117969 323010680 344572653 330898878 343077457 657747126 536790863 503854666 456673836 395402082 352343454 888137593 692920269 528668618 996130550 643357463 105702289 924347404 275714060 856592214 135948068 978758537 131969917 805002584 595564205 626593275 872398902 726852357 841072737 708153412 377348780 829845405 427020573 101756627 167098097 336127888 544216665 919743395 562924283 768367967 283053193 712874093 677953227 376774568 267137127 855082309 341836759 683949585 526507169 684294992 978637187 850637134 505829365 846119743 983908134 410134957 725358442 208307507 264841835 668783573 408218550 222659249 488134143 866090204 161970636 297016390 831597520 274400516 861062598 384899072 620177326 701595227 367543592 358717157 832089521 651392657 895782666 871476176 641198374 961446805 314434201 451010001 864040459 697682188 244212293 105027754 972384086 784479923 163182783 651637552 999213799 179884903 193240101 949466271 446294667 605803219 226097150 837173696 687314156 631304605 755441455 975309473 713593254 712335616 306819930 641247599 518639699 820991462 918470076 565082740 912266920 632151918 746709334 438982261 760639523 703954332 390753904 566149337 725040198 107529416 173414112 171926470 115700474 163317856 281606405 302228337 443724994 136632726 230621296 180461869 777610135 528380936 756682795 235463659 223756611 208315456 983100026 422087171 832540576 552723956 978796463 605597131 812270165 514903867 674649895 288880318 202911513 946359359 467193222 244543283 647893692 563179276 720856510 971042324 835731283 313553861 667069186 326246397 729285309 880545500 605067591 827118814 321430683 498802942 236540123 291704701 790071303 300998594 217993728 150120401 821957600 254979242 667185912 914822333 838807566 491197453 464015060 842688317 550278117 931174862 999257833 271238859 281562493 692645870 147488450 766764431 735062438 515071642 434153598 769229516 766671352 323806116 275987390 581017885 746173024 515913587 884291299 319252693 302300260 779472326 542328787 709123056 114561727 492393343 609151871 740296950 227268438 879565665 284301020 572775668 357217023 221496776 308499158 505637990 127043013 598687929 612232071 147136157 324422774 814464046 224024324 900500804 984272758 465581727 395148052 842795101 635024682 132850393 347533228 693178978 943132967 457797632 197672023 170747254 354096169 977472853 393768326 293541646 348851426 563617463 264915805 969377545 502161007 783588736 855155605 211039025 824067754 924889275 332443974 865348450 922247403 641167607 592162150 857420642 544211554 871981843 333803461 752075418 538498997 280437181 584396925 705828325 470108590 790081995 483746169 697958626 722446284 678616792 151140535 839610769 521977729 130742250 275988433 667386359 758435098 529875626 303621740 834941317 389603523 573875715 250050592 325114601 804678393 977291190 995563451 429192091 819741731 443968210 882543674 586458376 108254692 429317611 520642886 508830795 561215369 101152111 713731445 799124488 473828635 453204491 273465811 329857172 283567638 858683426 179483581 308219819 287001491 162815770 803294917 444934048 435367644 492356714 648978521 354974055 228320741 540738905 432940960 872361630 813134920 290422366 705276337 846760557 594259487 728180650 455756042 549551686 539076269 361669809 559404206 402080470 820806204 784710632 621597437 103550120 337262120 775576251 953026929 177126716 406670482 639327372 773449049 566837791 879261273 280479421 383306401 410766154 606609160 422841644 549022238 454712298 608642657 843727579 255753853 849389130 652620408 759237390 690947958 153813964 753778177 770755877 117706499 810496895 657685794 176257690 290296763 886514214 682059996 713947468 770113013 978950550 574501764 759650295 707288556 311254148 512808423 474115836 531126772 601086751 417017021 788578984 554170704 572621167 990409498 561929586 425696364 222852289 257119288 894720619 961241043 856866605 965171869 787291492 382572776 212824956 150740227 129195207 202354026 320665351 727211920 728113811 383220010 785151332 598555226 382825832 145232200 681062163 227338012 901512060 442900848 490111358 217380044 605248361 432990583 758620453 474101881 316777310 758287057 164454945 581053810 808923991 634000734 200102083 340871390 313367776 314253966 993718118 575977641 538553592 582802792 979649145 416229119 595853686 854416737 345247067 823773856 868739585 432846924 790280230 897346738 788460809 360019350 914565735 668230798 257058871 661193427 829300640 505416648 769894327 190813546 306962309 422768066 693614200 885211028 586085197 179918765 735625215 667706543 980961780 773308996 922875697 709226297 569383182 328580607 968002790 284597532 712878995 415641348 405191169 493305959 187386866 282243812 180824780 380533605 543532847 461089163 742401635 664979034 816133784 286327792 573639512 703841040 378803764 853744537 608851923 225924709 806193040 771347428 647440351 248343000 330905401 764912776 360281686 568119243 494848256 204428154 624759345 115372913 421575214 660813732 167789737 660984847 550221637 890686074 193523637 115045675 182980358 961376567 627979032 860787325 628546813 149157669 384885160 808421860 187359106 531691553 936764306 165718958 579819463 855453571 597298762 500186678 785906478 592403010 445841847 826150711 114034203 580925718 614011748 196332554 426362949 324034045 981526419 186393998 761534368 179667691 298931481 373296530 473551064 549903204 502260589 358493738 279263233 739009274 474363656 640635043 258682182 768838169 918792304 569790721 431239071 939620742 794304241 215779480 448073231 925854785 823434470 529165299 616475429 164150153 506917572 500509546 110554149 915391737 182571194 752775220 158242293 504860218 408814609 975864860 600195150 579677848 298213401 472067923 591190915 134755836 342024980 314669977 386661229 966355015 236206101 356915044 527985959 517428160 443687212 328266340 596796313 691633084 284106554 933910602 639113774 297974582 592416732 812123611 838526237 656199689 707763396 838018093 967820672 460412862 419712798 745061723 587959775 322876670 350687666 792123993 434031761 665975833 383367197 871999555 168436040 878342696 274516849 334031929 673264724 958486037 717533843 240707538 216847718 859009277 172041928 291868164 123976978 407005406 221542515 327772957 699360686 829576101 968851691 454042358 279968954 843664424 137516412 601082348 770533937 787319314 321003833 778826059 348545820 196712771 569116110 346153249 972962910 875345830 806270277 731434474 478831933 589937258 787539940 742124155 700265982 918765935 958484636 567883687 387123147 734334205 712825886 615084312 550760914 283506698 924131930 646043597 160592373 820456520 880585174 606403836 277175196 325454249 950929449 471945643 770440514 700945970 549539224 511818210 408628895 846324925 878343779 900125921 936450575 809178051 483673794 794647361 256701937 879429842 513957989 818139546 703007284 267098433 755895955 601084842 857209260 144995100 532484240 465902019 302511554 169365281 353172453 269724192 800051984 107020361 894954041 163286977 825541556 772716448 690732379 951990016 584406375 272208400 431969838 366035561 339995542 260676356 601040304 883213439 644773930 367631671 617865820 743287720 728158813 623457343 582758393 737464284 833857436 845256709 737077146 192761539 485187373 235746597 307833474 287982345 340459759 154021572 777397313 877274394 733102461 380641140 938599991 402390470 881773783 784149481 832672469 604867269 999170614 241381600 250756591 815533005 979659067 657289758 364837422 615646337 581241637 450611449 115587207 325799843 729727985 310185435 858563256 973487796 771550673 720535968 953352344 194488487 982398588 565339538 894460341 740623109 403353144 106755144 862928902 261634538 478263519 544765948 496049581 338954758 811214781 875165378 907903518 210944639 148624060 945909301 163437656 102862583 719059595 950937054 348517469 775407934 280467585 109608067 434592079 751034447 938633933 445184883 467172559 803321780 905461700 401309122 644546211 429277042 526060702 647899707 834887362 916343029 601906883 980030931 540217942 859405344 990166254 760870578 713554115 881356335 753019721 410930530 344889580 990902264 944534581 814131609 918222949 369656473 243876447 726794434 419141488 787048553 781434545 757460162 743236310 676388969 525040832 604024617 504421434 225636501 973514988 625892737 882366855 185335938 565673117 843513178 507388555 298894724 664081733 453785631 694053378 147263521 662593574 838732681 261335663 645596694 659826652 719287765 396599978 544396347 398404891 267001208 706206166 369657142 826447510 519265686 821791309 167472693 547477316 767642817 600147656 952299236 115400631 621867566 279924178 702482611 700957786 340480615 329032064 243019088 117497173 608212032 676997122 961329873 810288603 154992891 305451553 507813696 815022710 629432088 658690075 646863311 416666219 212709677 476047476 800494238 899474025 536502214 594313390 653235412 644016475 633076806 879412927 339004131 702854335 646109735 767969093 516426428 726147715 146397357 904814784 397231467 815811464 914747271 353949427 982142808 572445654 389744856 468795028 302676555 397688123 387840162 747723078 621519848 716261230 729791859 237011890 937688942 641531860 596113134 719695119 139661066 970657692 442375176 364233924 300563584 760030082 610800687 887374038 306286248 112683296 468633900 578278409 369100652 503555869 480082170 511869021 688078277 255814949 548448299 728047531 970313373 843571934 106716876 595844030 848377347 600340323 400239748 450546953 894160443 473111141 806735930 807834998 227184902 709534872 202493329 221762705 784402593 212769205 247903452 749437762 112026240 641557174 590576570 257240268 144209902 207821150 163934419 489269485 849154910 732114716 932856305 735560223 848011119 556803626 514287508 333347635 276133185 539826826 125676414 150888030 529830125 328735663 326508245 730443965 681834114 595800073 498862650 918890286 149316846 126662534 272190321 512281235 872665842 587650642 742577418 901439823 397509045 172581700 692495479 844498618 189745987 947451723 849691438 269540835 741298717 218974313 659401858 324852659 189586093 574443661 124407395 623954164 416965799 978579313 468041490 841764918 119008601 833768364 496867931 953894790 537349651 123277360 387161754 117538538 758927781 857581394 930239296 530595298 395479791 597800508 491533959 607969002 747990489 156153674 303971848 435867696 223854250 304372855 364384275 129689205 222193511 622854729 680675063 294460890 337077125 622693659 887068308 138702729 478451762 791227510 675896789 973914709 863441153 200466429 930598248 619080716 806065929 596925280 801436115 889918505 114898234 158206279 778885973 299284553 154428911 412713946 989834751 530620194 904757893 278175906 323878852 397085209 242514722 767390895 122682242 112603318 580286245 161471562 923094031 865996753 706506727 819135655 393587280 553415953 964519400 841184519 554113137 451427445 125556765 783119070 124997071 816707238 775268472 947880006 821618989 485706352 880146348 761055824 438595579 257439820 416754304 448115551 218540847 144306863 850844359 716896145 919141821 598529589 119437342 147235410 557022170 283284896 494655629 742378190 695916324 416725258 171951106 298119579 262945523 295378730 781741703 187315779 570546833 631849367 120732126 976523562 683155739 460120591 728605071 229608591 515330409 126115321 490117664 173183655 802990736 828959765 781579383 774077251 818241244 716580862 955587382 374482160 884756642 452899823 334234613 422104786 703102687 163415625 872698976 619608282 595441019 964978016 971321452 509549951 164681247 859496844 939682037 955510504 565689359 423088558 427602083 534467343 662251806 444331302 586280507 254358625 138533398 103168350 964174743 635480246 713447493 443825246 619557405 381493891 940701363 244916497 594131709 859727664 529788248 876467839 231472813 897037355 879566815 627400609 815922198 923493999 614622011 598788354 649426293 568963690 149996387 784176267 521827948 679950668 650024301 470133276 307653947 310835306 518718820 788532074 707657712 480173484 603051307 383456389 674883407 155232080 773363327 255494033 503419897 639432560 836438264 622519796 414180713 526813812 993364660 395775231 917152657 618657057 729091356 671064551 976266488 451320054 140506930 297407999 148999970 916394022 330003099 207982746 307295528 653652765 271792968 450884564 644207225 170173009 545557341 609266936 835191991 102402499 499774681 612372142 198033014 989537644 786752440 398710303 747309977 934880940 127701191 553279422 503426980 802878801 747448315 107891393 204483905 367647916 829178140 590514005 233524095 113166190 658008325 581702490 724341884 127421462 656034805 866287454 811667365 448365305 536227878 813173006 576490427 342704683 890811830 497896280 385169332 249863254 573829593 548852255 219346115 381327879 743589570 528584768 794360992 322019773 976387776 213346075 100985915 238506988 663072898 277975017 819988737 848659764 634596959 823597568 394402823 506082724 250240386 197790385 650629763 969954644 960194788 680709632 136689671 544595809 821033686 503638630 647006146 506680091 119464413 622719531 765666708 112446838 461305910 141984505 138255912 683034939 911765842 976854505 814314469 990895157 317472987 185487146 255658193 134460402 890476767 129547968 247764179 981132847 460228361 133085321 116040275 467811891 846871560 150522017 155812476 741048682 711261930 734118141 350370302 589172135 306170557 988290537 697501627 450970787 866558099 807204852 619133952 441843734 764407738 269603124 524106644 650811889 800687584 954619868 613829000 664249930 733290848 170638140 148875076 732945255 543073134 113217659 615745609 994436180 921485870 167828777 520882853 711058882 846321656 320334110 774136426 481122651 598088147 926712951 525985507 672567973 557339710 974877581 862823218 959775856 697480201 996158166 947414041 171795997 118303572 199378522 944924530 457380194 743545875 617604484 325195929 956601262 244255505 415983804 589526058 948521934 702607287 119852719 300652579 779478901 390080398 779671745 934023012 132125839 978111629 505011827 738790030 725549639 385776676 653279628 925818699 354211497 915446400 597013246 294021755 374784267 105435771 894938455 915775203 608502390 532287783 326475621 842740390 493676780 496660231 544308562 817795282 699444732 460990743 991185443 266529674 402831766 774095592 298790603 713443967 928562278 826157921 492764574 488121703 125539147 185953433 182827651 319918620 822830029 486689598 409170966 206893676 549484831 594906892 590115692 413417853 651720656 643165783 443714777 444163042 502641232 274825640 938359064 113452978 249129356 815901686 653951173 524173560 146636658 632856494 125350424 275961091 518329300 202791205 211546869 996824168 961660965 326273902 976222231 843347947 793147178 308130263 299712493 501567603 644634943 882448533 617334986 664971340 453237575 268643824 603028526 668115831 596502696 986153973 134828965 387147009 281349798 649069430 547132352 708811097 363435303 375709503 692363792 907304106 413314749 494540310 899279695 240140712 953979975 523292572 403357246 696908706 342457226 974624001 240651555 582540065 713942491 138596126 840401512 442638472 344485798 555195960 559602370 986609520 346856383 245319260 818210988 107350435 884438703 709121504 982657318 233132437 232987279 612860383 765730661 444922111 854738424 751780231 189145281 779357803 838357065 498758791 610607019 332102983 366774792 895252427 216237412 470317834 256742928 194945982 398594800 172313643 743489899 486567039 335756667 579003679 102978340 128669312 946332048 193164867 867259770 971657107 885190458 683055942 121268635 647402989 638744165 259162214 262921051 415121230 752600746 213398778 843293049 403485839 598702118 328124642 998399350 455310715 898911920 188332723 299995466 693557392 302489335 509491570 557729683 759874883 722985105 772821467 876469327 796305661 113692062 770844691 943512265 870424390 162918874 119404444 205918475 924583675 304439284 478891352 283697472 820240108 889562009 217373168 733696853 385286354 694344445 301300031 471825143 828668825 820934648 372517286 510223650 430570315 553611179 830498608 646212605 200269790 743534484 345657677 519261122 767818938 472692616 942262598 853561855 130274145 551272177 770216853 364707590 952923203 199322679 660331304 554009965 985587017 572143666 445422690 467149711 652753677 858351351 778948367 204452737 517350019 532586792 147804802 522053121 564996410 879040332 481237098 281249683 663824278 212907753 280365411 314495670 564849058 706691770 643335175 305728930 537872523 385987339 756484884 733558982 615497674 564453377 231231954 300649365 462959997 660455347 305325252 430362453 138513971 422346536 338192961 527996202 841006741 578003275 353152503 583479789 113013218 504148968 775350752 643478688 451366857 882416026 158800066 961842287 462482774 136484010 257433411 197670548 632769031 879779259 389846780 474059938 353830630 385342456 554324208 811706832 360790168 557609557 270203810 459008178 768489168 827172478 581123653 609905215 524171196 297567969 838621277 159970286 759132872 606231563 822111923 342175825 260972626 328047713 249956777 879267944 122851509 621273119 809109304 366631106 518442985 512504593 909215186 244302483 330326794 818531009 835815392 483363857 557585933 149102186 558988805 200446156 481711438 638624766 332044322 947542449 660118792 524702362 798562963 201861828 984999004 249259647 779220561 868393240 474355315 724463984 451386470 529065044 987616312 720960804 155374680 345327014 687497399 203902680 341617880 551646735 943984435 709358138 449306731 809518643 299228899 447405542 729099253 169331844 576700785 509126718 235520664 616770060 607081074 688987010 725961208 115090435 687866358 459122671 686450422 262565925 343007447 610561080 917667030 623828688 940282035 674234222 876772785 217579477 436912422 556087307 875678637 166577537 849391473 572418812 895064739 710024668 884876865 123938456 485998364 741263275 977022791 951622658 891234358 619208679 236185310 210295175 381019268 682093859 218360055 815466066 957229793 306431000 405614361 625859136 396337751 461823626 584687232 823724289 984104623 176953682 594064953 224009438 793364772 107664919 521285028 102020968 780124208 283087254 694904878 877342967 649885368 623938086 578868765 464399546 110943439 892840428 861793322 858099806 843500022 381763821 298605798 187396668 271676636 348748929 192047012 373032636 668813611 953541262 161575070 636633065 894429851 819998226 976550220 635440471 309718939 219742877 357246839 638648306 279937282 343540119 638026452 808470612 557940231 805056644 121995599 255756240 274293027 131726673 937489967 977704783 263837954 134786254 747069709 426800683 830850004 639485321 519442607 660811839 225478322 491469832 932941658 962089167 148207944 330397247 823583504 141653525 108159488 611197772 108990077 142985861 924235396 313324906 114912480 664221800 832118547 296314680 183426021 390956811 813217443 599365572 134892319 862471324 405862649 311150438 524329259 928109585 555266787 514444754 152382923 188644922 579057378 362379012 442421433 484349089 499294147 863346997 638068573 157564968 824780404 173234504 608638918 195333584 114487030 890690227 709503766 358275374 358134071 589891926 660831550 673462157 440309189 507699256 705889098 620660302 374227131 102653634 540437293 372017222 662038479 303840136 718002707 641927345 903656418 946183289 639071440 126272718 973168031 650287692 414823426 749268681 801404818 761356224 170922165 515375177 495487250 919337801 541738787 562600044 946319542 287274570 353789647 262036468 300647138 705657229 307193112 906571254 424180585 268016868 583217150 611611834 977283499 903030969 943659485 737882224 957850289 760700995 200626396 438202510 547967092 412650615 524157578 760182522 863372336 193297111 476912965 124361854 364229947 506945003 275965207 232490427 245111941 670914077 954577069 709339487 274553079 503108543 883160418 176969881 623499425 814629253 216386995 693207787 702472297 971376681 921265975 838265502 600836065 169856878 610786033 693651778 824404752 384065783 864535117 605992993 128778076 553387442 892423625 413351547 710098563 692310162 722093373 323591425 731705309 547698872 635185953 690677780 971682419 581536872 394926582 316368627 704899372 327839416 256979472 698286286 392713786 280843212 647337583 490939853 372882752 327714899 400223314 196036509 870327806 519902057 944151140 701527930 368784184 548223846 690527088 741824173 737733388 865776460 506024339 432858112 605432593 196275352 264106443 427848275 861321959 103620794 195538101 534164735 574884913 406956549 201106747 707343303 702143888 112201326 921728051 574776950 731265739 208712993 419664789 175089891 151098985 260085881 433666869 962313269 326198051 648264180 614143076 658625613 975402024 830618288 604552433 856667511 247773324 694595716 423987925 238846094 628873956 850274974 636580151 843800722 842477738 293339280 417204528 357000463 100195441 376091961 986573887 757532055 809006277 602848682 198751458 456086978 905974679 241395912 619069729 796189346 336248395 633781774 152816287 781976678 154850490 742869752 402175050 998827712 507571411 435041864 871437827 622549481 680541461 287214252 523903402 581235835 547093971 117664696 857425215 806884841 798856766 363858101 839401905 849985981 979100829 410335471 257801405 155433479 445115263 196336445 213697909 466085892 727687675 639968487 342909182 120821345 742182205 698600801 265153822 151574992 735529858 360558757 474786263 507601916 320768937 459732309 399115657 469734630 263212121 590410568 305238130 928936944 548262347 201982365 801067350 777437909 395407903 366957283 664392469 838999295 251952093 230929313 839816790 821173771 441666806 558320807 510254289 433502336 780856115 994325468 288707891 271009014 474012391 959575420 241787227 477907092 390676661 693391651 611931321 675568237 578649468 699523526 311160504 298350984 118307627 576131315 743233329 870278866 259255084 915041215 777698809 877096232 448799032 499150002 728577234 106935196 517712013 390605764 832363514 209573911 702407407 234857711 972554970 727067956 426462358 542848854 951524799 170635561 763254494 856605169 428029139 527436501 712426773 230748132 975658716 274297350 751977167 729407513 788506042 637385902 256396226 764589309 420521107 844974563 489880241 898949027 778806158 647091457 464129201 919701380 182283003 556772345 662511572 465380147 368454022 115018394 303766704 892264947 327857600 529260939 750873797 781529018 449073730 911327857 881776696 169125207 739512837 319202395 227177998 110454320 305717108 949761505 441094294 185108380 186869648 477074518 951855354 588573736 507641311 602520317 968041278 242606021 286872806 334779825 847775472 247901079 508173754 531042879 709598730 680321737 800795034 209353774 603136225 916129868 280661051 123690526 839036272 894983087 559030146 804285051 459291814 844543557 551146190 901107835 445537330 763987279 507382419 286927435 510447091 873627337 289218439 714401973 856453340 537349205 114476226 796074825 356791012 327449118 638969017 963150086 993339295 781323671 660160300 731967153 845030789 584613220 182186788 172051335 234725682 179954340 233916826 417945473 591303212 562275692 435131598 329072791 607735771 557715634 363043961 362018330 250371035 131177920 132093628 419321976 204011808 565078470 148746494 279739105 932117180 147688824 525560040 907472950 559058599 121886855 226682642 695289003 834072087 771310926 598737134 841383680 368812632 848464308 806928786 533318180 331276065 551739232 395445385 114982850 302648642 721167938 604959695 974447352 718002257 175484097 352333706 504106619 977768930 142352286 873140145 670959020 311486868 584918219 101155848 103370131 123542154 671553584 218003991 732611517 657369972 124125691 468694649 524994653 687540174 493152418 756963284 616311299 573781092 470910230 919335811 787236480 759988028 574269819 843637464 588612279 356441200 110022085 446731600 503826889 696471551 901341243 657985085 913760802 387330142 186192944 560471141 405156010 764708503 104987016 610531507 226361139 271768295 413981283 687449324 163728620 322247987 373967367 478407374 367170428 986318905 386193442 144066828 837714506 346498074 109249927 676449589 425650395 289579126 566845240 621705425 304305908 117211312 752881261 449180955 248479664 744362830 687023093 406919563 890414581 257226170 354180781 564733659 119947882 569793110 204141140 889768830 560553658 830768352 705670381 948339747 395943957 221785226 767068685 969998201 675195835 205092850 903049479 352576594 835542615 912972679 300075369 816114697 882385416 439281571 862122314 820065666 876823033 959066693 610715599 915783731 237587884 794565280 362866423 461003509 524384924 975322759 109309182 639498846 594252184 181613859 156481495 463239819 378418816 199035505 526910189 195250876 219636134 387157672 645054375 281441494 123948709 385319724 950874702 585214444 259209183 459805611 215888113 443815074 998513920 245442071 266765955 977855692 599033515 589690315 644581436 684244221 219723106 756033007 934724732 750338257 843623927 116706782 274464085 872063688 812181194 592564276 738966345 153224418 601326829 671107228 747226560 693347046 816901052 926644819 916499893 278104982 388161554 201654043 771160432 482816680 701966589 558695037 341238253 949509676 948721569 120418549 982819988 352044614 870156560 154268672 511956511 170434703 452373992 808823849 925607092 543598360 815191642 795970794 120993536 229409741 569168838 307883673 924540909 207298963 600082937 339245063 783076888 857740710 862407600 918673873 767805229 782125346 345498080 682875730 598987051 274587707 999483459 814565791 649942346 110433158 631692465 875527766 355473380 146974262 450616178 211084218 834204603 982438727 621004398 775583705 162027540 745026639 372732594 725941159 569061894 485407902 222680928 434968758 802065320 243500322 859815464 903824465 838275205 437880438 790266389 934216107 145043722 774806077 467807849 579857279 286745876 487665955 718409492 980551346 283689604 101537307 723214362 715219983 176746774 313440776 546320512 956435211 389641040 507585582 826340471 231377484 252888997 575477073 435837457 625139284 300524854 381173299 883824121 240903543 135882944 536405326 660525433 849871345 474510381 237138232 175542445 327755713 730336819 812489261 101963505 740856899 355432188 876037251 541800125 322818996 685069601 135682043 204059808 448344503 644387083 755743479 998160362 485853726 297926901 897601331 413978979 912155900 485120817 502629092 275038124 134438017 628579617 965363365 611065960 642831863 169524597 146062310 586771869 185995834 546029227 582199865 783704436 266506041 219603005 221595136 931490123 241479359 255792850 420433552 556542122 781115950 449334793 347472118 983527795 643479371 591650833 305405721 627394464 601926141 931433978 394601050 990078836 912939620 782238517 300529456 711530994 507342246 913198126 297731582 382454551 284805800 754767847 464706418 273979088 734850343 987700820 307348068 704527723 258806764 149163358 158186206 259204407 936857797 918638722 982028577 213820953 466715433 824302818 276053260 942983828 439657932 230605527 880065839 862403199 844423839 533998156 777311111 707621472 747823990 162897970 939532897 623190375 667440922 740689243 164588965 901477828 843534629 552560930 894951909 286666649 279279547 816345613 713983375 269967494 191737590 924796360 917216846 746881764 967189224 456984966 680069000 949164362 221089428 791089967 648667055 341619531 458316496 342074086 125291557 343395167 729660870 329682398 265705675 819273759 463307764 575790159 360838120 323182534 988466819 625099844 600094469 844954190 458710590 150969814 748081178 638696461 799830526 839315112 927789760 384753773 402569697 686396953 922500621 578750848 628308558 417774530 467941492 708563023 715983076 727004371 505624904 333363475 439520494 684155933 454145838 884498945 864371985 597220327 580324997 809275976 581143387 562394108 706156825 403323184 857413060 183094854 706537468 367343380 227563962 789554985 834677403 693573259 771638954 278803402 216572648 102041720 907655261 664607541 587376661 939048847 678001737 656385606 526174660 105270564 721767778 308364137 805839283 155437106 454844791 318853562 774599495 908100157 470810507 509906583 767989020 744009131 920306092 470668656 178348264 651735624 739467139 558684997 806127878 635678998 648397399 287476150 395853349 608611782 572967096 322957527 590724445 579789048 560320744 607352287 210307698 462950473 864398934 105578257 106479949 232898025 484082594 798066257 864366529 571399425 334248282 710537505 518537819 687841156 695677291 124136288 852287671 587838711 640402908 617711731 137612199 796814280 419774596 753710854 290563973 222530052 881956958 619984850 336113306 492364220 306214800 457548099 768639758 177155157 198225133 957150652 649602616 541441433 964552688 401565202 597256557 653027877 490244162 521238325 589344564 525129140 758304599 290113082 639918411 770905264 675213022 258386504 280506297 448881817 708843284 313854433 571942755 572086222 764217958 739197923 988580509 840785208 809491702 216206470 207741679 471995738 110347728 157158200 107540146 363904626 921847554 397778524 546181702 100820236 483895567 634505870 830369686 870763711 242114368 808943519 473142316 464131209 362463843 381042614 810029125 893069612 516836704 514217253 596357052 195768799 395699780 602102695 886550427 492448588 454251565 719428339 570862929 675159480 395669846 205689258 360315233 548585865 189896019 216825069 994647503 215763831 671613289 985280167 669549675 210228924 362200162 515473315 214867244 587389914 439458065 253491778 386820568 490408759 218821394 649122543 978383696 240985266 369352920 195415594 736760123 370020529 532334546 958885026 668769517 503902143 274578596 494263045 567423364 933679141 349387625 242179103 316081273 264826020 294632465 482154621 914868446 628336160 423797177 482613257 997168641 917986001 509875989 989145361 835349247 218794885 151457785 906840554 769800693 361177364 579643025 123996664 914863549 284966204 211696925 737937392 983614544 663735321 525151554 213012162 561046713 364550425 112890929 723344471 693269744 835442869 748468960 161945901 566619073 614526241 178050115 979848767 979628521 181767167 388437846 128796160 844272179 847459924 747831594 777414291 546186314 781590473 152960893 384182604 512685062 259963624 765126801 502716402 171858062 462336849 267089907 393938955 575197758 687150461 679578554 276382156 936846029 529795129 610310235 617772769 315168684 699390552 979036498 528869998 426755123 486828771 190807597 659827041 404930320 295473448 511219362 739259613 151884389 957607139 488222845 279911555 823276609 790351125 152992067 969149093 385613428 887281587 604339761 200245387 584676438 512209403 605973608 380760077 272153327 621951945 772417043 461790021 875728712 353737892 721305056 436468973 841785091 753684758 449162067 506478737 995362919 798427225 765466872 537144106 309389255 944446089 729265900 336345247 992100889 542103881 963922889 209847820 131375854 729291007 841698704 574173223 496983961 648561881 686663996 360852883 523605994 625403895 755995565 128453177 583841594 479372324 401582362 527661156 943376894 467722673 571449596 918889666 627388571 615506391 169842076 468859244 391475446 993379744 914687842 366016095 683060757 639270662 727029693 838496881 267685115 652176750 180042399 978384491 301794268 856073668 384338277 235119685 302378974 608420498 365079341 253553108 677346766 990783710 643868114 467790938 135844523 552291291 462440782 635445681 856232012 946429040 156970411 273946290 838369870 878516542 846312755 506886653 852190917 420862957 161924826 918075151 972439619 767243034 288363006 586718367 155834284 268175087 370587711 720489200 265156431 792505746 126013840 266589575 706239255 743432710 287929325 147981154 157556026 258762266 767063276 496157691 760456447 348654868 981436791 441746474 238744351 405362059 882945055 688047822 186146094 391061912 999426580 642111355 123083300 202127132 843663402 307818487 177721822 132721414 669515710 363684846 868870413 403056630 667327660 505106882 398811308 522851713 466302094 743193758 190702639 678399532 317818624 255886892 740798692 468319828 195704395 930772036 559707750 149246140 829692096 806183242 536734122 976933184 869941152 635595807 410416633 156174021 343606675 359965975 451873595 994614018 787271914 989801197 658919502 197288692 842118121 230706435 717154767 288853686 157906230 967133685 578675334 864994889 648647055 971733114 457462155 358924672 257629275 880165096 808393899 347206503 442986179 497879598 168366470 902594862 436232939 312552032 557188464 958385717 682088205 174127029 784938190 969611526 690962663 457689548 493262333 379216695 549808154 846458874 837674592 396730718 505757582 583812594 338588477 792857510 689639537 908849662 109547372 174286119 750570447 606282842 389494945 270918599 516775809 496309577 768907685 659375424 467434615 253686327 479579073 601938847 179737795 829726839 696507311 954492192 489714711 203052778 949287185 856296527 514717414 622255819 828722915 127944128 118631564 477101967 987896066 416579844 618886050 663509517 168514836 561712470 466844018 321090465 412592565 822885689 917017718 881033656 957590480 306347761 993150807 158577271 558873624 686586978 951704527 168111994 980232056 389973929 950815521 994656640 220741097 847372316 800508269 662199690 392707635 462098997 432589963 508139604 592216408 876798681 916100249 286772818 537035811 175434998 454997685 683379906 526007661 671662568 382240015 334710491 836575738 529219153 876265615 834116935 276202288 938429456 760667412 495750458 258102649 305002563 553235742 749506551 890473568 741696017 543712442 411349138 952212496 785924045 976966604 818909133 179981581 699119652 841632128 264913712 152608302 984155460 129630955 633086643 644334467 393888407 158383619 172740442 120201000 878095107 289554812 451006867 393929706 218664162 838876973 725988874 114400320 416901677 154922319 768479169 831295319 372371796 531800343 642890308 361183184 823737306 593254812 741974442 334353932 552106743 866409041 418650521 180910604 456936260 117467084 971601629 623377640 197067375 927283459 756161478 676824448 867833564 578078548 392663872 976400059 759180720 895422630 902455432 854283509 562042639 964971913 545740240 763174969 358276642 400276201 612554327 549161736 455388361 523601597 296748281 603291721 743928606 528439845 739758116 151991206 603321898 701299196 311535602 108920269 799208124 285324386 519014506 387543405 686338715 515912616 185726725 391529418 226745101 184017549 419860613 205165809 719678095 967109515 300069690 794808363 903117189 206440913 426007130 963018282 411844453 282399879 265477646 331001053 712922005 363204814 807397063 522600360 320070528 600564947 489981791 298186861 725615139 336621362 718369608 269010557 305806351 411656836 357502837 717932594 651281933 566074717 310170250 662482246 675562762 682522698 300203330 229662434 140104839 536203194 729698477 488399585 183372073 925378079 272834853 270656553 364948692 488077845 167742181 645330754 573537925 264139835 412521288 620386988 539304208 806976385 536178419 620983973 576645789 815942306 936251289 160510542 374512084 619202352 499460954 525569939 511284191 919329498 563584016 272243510 670071702 524760825 605416160 325963528 496993090 145252813 409951817 999652104 251515746 861710063 944076422 506134939 985944487 321818675 991621858 502008422 358750335 614550155 788212966 531667507 298014655 788856809 388049770 409905154 342180290 669634833 927842233 732642730 243446257 656369215 254162115 153168947 696529192 431214695 443659221 445302086 710294446 893900096 309804150 141561208 672629731 562316249 835824028 927968734 521589341 136398349 285638038 876453975 452625346 691983070 855288578 619779223 819528041 617267579 148099588 340987681 206572632 810067296 169082110 605534712 744775559 794571663 692414651 124167459 428482940 230156871 870766094 728701369 350479350 634991845 265386999 207377000 842950250 318342102 389485811 764117334 235610205 235854168 996122562 513656777 612977666 633804700 819466610 212073227 387355972 504655733 346800960 992893257 114914011 644053338 242742023 559062412 624813764 137294649 496583414 786282097 576332798 473564193 471511831 100627289 351614621 528560437 565563711 834948420 758589418 235974679 143038745 432860694 574846722 806410529 612208552 746816094 891057318 671259551 518063214 772964995 199812463 242318932 263467043 917908466 492857863 410074880 978093239 729943969 578942073 330425252 393797168 483668027 457065428 268391277 268564200 159042503 528184603 578253106 934575064 949148491 874057074 235291258 846472104 484810372 670414795 728646917 479304091 561678874 319719713 269317397 558895500 864577386 184851801 615129664 729513878 143231761 413479026 456961856 284266569 560172043 386826715 702006736 986123913 850823277 620699962 910922898 107851091 709575381 651497113 639857485 812079242 897480353 376470639 116828895 257339859 194558723 370767032 996557834 829102524 700767048 920157479 325182690 943367822 338858824 237804948 667256304 235355513 331927307 312960563 466382671 332442899 110009138 346794173 284963509 274934475 157916154 256683146 906629503 786863797 165438141 430548262 867829768 676360386 869158149 771839514 287318467 314799885 239660553 788900643 986133241 920735797 668206098 758053299 242796370 382444173 345201885 318280432 918058877 242456812 378434449 167750684 573208877 719068832 526289830 653696956 503923780 339675219 226240356 559493606 999137484 740850152 214169761 672980874 890869483 468936709 500067900 668514629 443730035 290975049 259708374 686193861 523741999 651856486 812995794 694503053 389082753 557717953 418354485 530163271 982443679 650693139 899645762 795877678 410137318 393690987 275142647 294130221 162366150 865362986 999908484 302086223 700499518 302417126 810143709 854681327 436315976 329835316 517460838 202254614 946202628 181669923 417084583 165357110 140340425 555123498 579958865 280528977 867725111 209466296 526749033 106072759 959594642 213534509 321975107 719358106 673798070 191626005 123489067 236740647 822031883 576412825 948864053 766572212 154667557 383140155 533999961 823377328 273625562 891932013 224334549 674308914 786265247 742606324 162648820 228280163 452199338 970601820 902350922 797909943 584275418 803578275 656483982 516454581 490180937 607683476 903457667 238823669 547244906 148974907 395825883 189836412 563705388 665236002 639471945 125872178 704992987 164187704 472332800 104289444 182106168 596821516 863154079 376932840 177619291 943287044 956954710 683355193 699665084 696504950 129923777 386268560 359088536 210646880 451965243 103639445 305929738 370390964 515713233 188142176 514910422 584140279 158002379 687766421 419807589 118756827 908814058 380531975 940223804 515060916 941444975 861089523 300629753 613217745 464178386 854256554 775036049 497095615 314980653 479263457 746914355 178217301 512573018 716852224 618421226 786892283 415712096 142886307 106615256 605525674 797866505 282678301 640905189 166299080 513538145 844323303 904054944 689273187 415498330 258228405 858174623 752120574 159724600 182147614 626388924 191982636 272328468 436762470 830735887 899236190 430477929 842943499 774872456 739310060 242396381 588598238 139940267 630745293 254857038 919080361 566615315 804589231 489286366 185559369 680142727 928740094 411083890 386417866 431332360 422076435 628326281 172716758 498903925 711583471 955098633 932627539 969991467 640335120 622301384 820006880 171023223 239734325 222226005 277323140 346564882 967432242 736615094 142625424 554613128 318027351 506940965 452475230 822692039 478774857 936210948 885029295 132201352 169910665 793820860 305104417 498505036 943410904 621670177 632576208 375810123 220392983 723414709 629842669 840698230 649715538 110006512 935850841 480107449 620142967 636725277 665538621 656221107 461250398 714035490 195905892 502730389 277938595 123920171 416899824 750379611 432687297 670607009 287402437 976410132 184130479 695653679 806731020 559723226 257448648 846287935 104463822 996465202 464631628 547162599 362777556 199938262 189022394 158340399 904493730 817547960 375782923 423446083 769492318 701937061 279109865 101653989 256482882 783845307 315041078 555044835 415478215 719989312 675068093 268746105 995996935 883924537 685523648 389883530 216669582 155659809 460238227 250312717 979220613 301398519 206511731 749272229 151619354 191114840 994493296 319644994 702949623 104730097 616886159 262757034 831317370 920883354 666193035 934004068 954864341 103080225 305028269 407182376 941099010 664411766 278996771 466118660 716531656 607867420 417875412 257859775 969247897 166728003 982422722 726384199 737403732 146946967 341098559 795811789 579999888 682328955 954356174 345412135 829147107 227938291 881481414 852818846 607613245 345667068 793142617 620602630 294918618 795553191 769036212 958241592 621113249 164215162 314648318 403943856 566605189 796507731 518798475 908559944 589348031 543898314 798882032 640048551 386775660 493739119 154433005 599486100 989828100 458479205 761203086 713079604 932000729 403974930 778815689 331277394 893795723 577146624 676607809 217378924 312709779 181924063 745352549 828486656 110754554 222857892 321937463 655773150 290431976 211319560 457884596 878263333 418016225 654505864 490855507 348971640 915016474 558423920 495003440 742914453 941450176 416789546 296990832 613211426 373931414 364205737 950027090 674600657 952850859 908596471 557779831 338689060 321634358 651733726 279274697 643085772 606438216 857922549 581259639 438699140 509031865 393663916 422625774 662197262 542908474 631718277 882748632 497589966 883021717 699499811 716698225 857592170 582869557 829439165 179933152 283704311 927288346 406183582 762719128 620874832 667647646 924511222 463271825 151253435 308863316 516672011 175791103 527485658 768651348 713181538 871386529 889183101 804321098 512317783 846428365 736996536 268845397 890074688 488708635 870449745 816773274 286896062 393338367 703830292 240175377 931679832 603857570 327890443 442628323 976590786 961540712 874622876 816565763 894923495 467730536 569870574 572691567 987681643 335559522 900982177 482924052 492847275 249923049 413045622 586777675 656145172 176781112 501688884 608345553 821872034 903687911 237633824 266511344 420276339 589548094 416389538 642947997 780258797 707129777 661187026 277334748 283327501 359307127 397403523 673103455 388579935 259399518 271135989 446897999 661176931 916173793 474373006 771451593 612796387 520065761 545747124 381810536 322237249 638470801 437007396 714950497 644102869 463637850 760428715 707944505 478938095 478319371 227436175 806900214 441087248 332967041 842018996 816601755 638497119 770104227 375023182 458619930 271842876 563195382 556582084 958674728 427169689 179310599 631184668 555268114 375530475 991754733 819854314 511796812 707857150 113771919 626173075 771479906 471956302 124882830 270877388 395186410 588165030 305369860 696252133 525633225 262833394 652996156 628506562 589610088 725926504 850808549 632195429 951659264 947478800 372145107 826484742 278500053 847323873 763264222 778029966 434846844 856978684 932884940 776096666 421609615 819159835 635553798 551813914 423706036 526597214 244516939 552210714 521632130 781846931 260964175 747737883 547042574 410711025 486102615 929169350 653004086 982933172 247011442 542392253 106190061 966003094 331303685 764713455 979647118 807272810 886700278 949419164 894913160 187793212 292851483 588193535 972998895 929387846 730240459 178387133 428275115 703285079 927204028 368799403 356693659 565423435 255440320 458308084 862319597 916388948 868108669 205734046 706241831 810861713 763532886 630060455 158174848 873331373 591699948 288100608 998194331 894701267 975824037 646150650 580738321 117543882 779750255 435128867 941125540 873219264 773687939 867327745 185278739 942721669 558656036 262132454 610883235 321520055 179862459 468405187 172319381 751736449 799715682 497472442 288967706 340927114 373215287 619631496 788477369 641905672 843478236 485171502 235450719 150083294 320838933 977351930 408810968 406151123 857557054 164760075 486433709 145674032 906226084 240443011 965218700 133573109 688110903 962118176 425253621 970891100 722634753 890903598 985147732 512060327 595602464 544588799 344134090 548680828 566103907 762973496 280485298 588875749 335718330 870196941 907174713 702124938 540344690 987979144 665639368 861769298 143109689 225382196 736813045 487599055 868055631 626881282 802796611 131589132 518794707 841975228 245443768 907947166 540945776 796082062 649855700 175101632 886247529 874152962 486280733 689208950 555862983 553476893 412909017 124701086 360353095 718791908 174715832 296846718 590123770 653939663 522629905 135573519 277297829 248741364 750608148 294989328 618120163 299362062 246010429 530726331 629935005 352042163 808741427 283031461 784415918 627815043 733923151 116846635 457787723 892088910 158421186 605739853 410027868 234101848 100404842 515523504 209218232 854918928 805401971 282949167 405407816 232898421 177528676 863672113 152690241 555232864 212676348 455625864 507109824 663784199 119298927 783747305 453227921 133957914 625539191 112334861 516519483 980381056 188773562 176758832 985139811 803610598 735201735 120750542 845530016 108432039 706055742 132495396 727324771 940743467 746320433 230480493 220555245 190799321 806529792 673438744 260664168 424848339 511769082 867736001 362584218 789697007 615277571 275344765 808846542 588597219 350473261 218707993 510314033 974697149 139978029 990589397 381996578 745921073 301542683 858469865 701211644 603355630 728536127 866857119 399755674 624101856 781673348 452256799 481470833 653397799 823192784 217260822 859743134 951697360 654065471 550265220 375594353 943623443 129964930 113647501 526099315 287496598 609999594 966390449 995474921 645264709 933841792 798625376 275412645 249358873 533288768 903787752 875990063 789358759 344439421 943310027 842966436 649313256 387907789 627911856 431911081 380077456 975019556 250254772 633994289 960221570 750968512 220826903 258264306 823837711 152240370 732814496 863137764 848577007 579391098 795587595 918346779 474141428 622924925 975468284 906576548 649517417 722724212 232168824 777311870 937070732 317951371 544333552 691232796 477106353 767010702 424591089 608150653 828202563 946285768 747713752 686502330 812421033 155900845 843957624 493560196 193339029 295140816 461655545 554357818 293689906 413767101 958025511 740130872 748793922 555645065 834352648 492199784 533642681 288737781 715856874 643492914 298398905 229980849 506082441 514317437 416764715 800159120 705454337 272483477 984295338 642174682 852177774 277663442 268736013 910636719 257914086 984807278 393196355 745783004 182410895 980506678 835929872 265379647 404232575 940751058 143364923 502508648 999563967 830349041 986179677 775550284 618487432 234335523 330876778 869559060 340048796 900885841 739441387 170500790 870949560 892441655 387301048 196192359 305253324 813975913 743644183 799950394 465190944 358064192 896578207 972699268 998268794 684685331 795394462 337949775 511684004 272849828 401340044 994560829 946435104 132365211 480437077 110551684 711330246 249638316 999378604 439807650 689800715 313680137 761457059 652859076 541326329 528176459 847699033 407527237 574902047 328973425 704525882 900226301 133705305 862515536 501517650 718299646 178150065 974231063 177534471 386478008 284149709 803637753 993175955 310834951 939638348 777542822 276461637 158083623 282750062 653939321 979887751 550440982 211933771 280722191 653784515 397354971 547887226 796130229 333260641 565043345 615555252 971289437 819950423 558167930 228401937 465435717 530209077 701623855 588170980 777053699 900503755 194842815 269324528 923944537 827262036 765649655 910411626 389240354 903839951 677303967 301644843 797303985 513162421 736554178 865383589 176099884 404013406 745899569 948496727 853762341 718329077 347033236 955867167 307999502 595294847 746020078 227984798 203357504 934692617 168917708 654280473 729523057 425138604 728737330 534215095 166384822 393553495 232113027 949484119 656187442 645577816 892968813 604398030 123068802 194985277 632895917 276453472 916929140 983572176 164241808 368433452 188734043 497872232 646036936 217742047 335194172 689309437 376654395 658800432 225883069 415456016 850264987 775870365 848352212 154766354 983376334 302873473 712131055 383118547 683676442 638559207 736934721 666268430 287422929 209569058 513765440 475472940 363940129 450258659 933725394 163949563 660739128 482526825 170361696 647276841 104272716 128524748 508862542 445053172 161922989 851104929 603414889 212370336 660939833 504336438 287839794 390320871 983351374 686794421 797811307 597645627 485064778 598295110 147035121 358741945 987682453 498233531 205099630 146293755 467482300 498900985 674299682 449413807 703379148 797518175 428708755 655329591 362417040 810934636 439541295 962644765 137083145 178805765 872967644 189642253 313847312 634556967 259425327 791845701 651294305 997934373 589708212 233689549 172612025 952738599 296444493 893190221 131059219 636738293 274514649 389954977 465207074 185110229 398567424 967721200 637303141 193486833 780426573 555394411 924882180 234414765 950739484 720958415 264417880 818006953 271412056 437541412 255001705 715274066 421128624 817308888 590256594 804998485 468624591 302693039 463044146 238523861 838719421 442482983 815013652 531151828 125700189 309283061 360394785 902746720 793712487 807042271 111965189 739162010 509048941 698627824 682329551 280628490 437909720 482472466 252278557 706155473 982866189 984517120 225567918 771971033 254842597 139914805 791531472 546110212 323010664 934161161 951567832 304607243 876597575 854554770 673670234 813964652 518243237 561962115 434855155 808376410 402268703 312052458 762977804 884124862 881493711 563124041 917558413 899115107 365654722 113063798 656050409 357570247 532403841 840013091 986071799 746247387 546433486 216388990 139918581 988551673 167955573 163585237 429238886 802438342 917852257 457939648 718331215 254725226 506016840 124893755 391900777 115391713 625317158 563973968 513281808 542721561 747385102 772873585 845871830 363824116 964681989 147321044 661417810 890768302 264090987 310791129 205982777 594358395 162307423 581404628 644753455 619401032 168959736 532862769 720586413 706651298 462221812 661699389 571352731 133920417 431153125 631113244 502604324 376739393 796687813 758813800 975948521 912631471 312915969 717323195 351987356 959416015 432840491 159114964 759440025 481223543 757480047 512823385 563963198 571158257 763636557 155402815 493697381 224201143 314007975 554160871 166855309 470733177 724690241 907078292 689659020 555989095 179907887 779416288 456459759 333298120 296194777 507885842 819671790 141304397 321519176 896700564 925719694 880059072 109666322 681545228 477111708 310824612 151489072 878276854 912914151 942158365 208815398 882833534 429033827 390416867 805943057 389479123 805892972 595764149 803111503 144922836 712514115 364666819 224305662 832969732 748350118 142349636 310319198 487808871 498734561 773245120 534763420 657121253 804749801 483909852 559943580 322877219 768639842 512048146 168206923 351858613 784908120 657432503 259999208 386096011 594147404 829918187 388795552 302069907 742948687 124867635 314210565 119533611 615681200 366414258 183763256 820774294 459853856 516617133 324487967 572848917 324636696 744368703 364177420 910300997 158356450 851997729 842391582 832232097 101912420 949613726 311160023 285456716 438481661 132276296 644849782 666173045 360596268 575027138 139807980 598394613 711632061 567759186 310431733 365489567 100281707 652795431 178801093 500597415 917496278 435360091 605888302 240626458 470171760 519945844 349391226 631055970 617365408 548940667 872368680 978670617 268326831 808848458 162850918 301157821 308834994 697051936 720811314 399210729 176869282 897170778 714316106 212117909 165192650 847901390 241175300 817389724 622517351 478916522 414000131 638403795 624455034 257800223 895674389 280874633 531715649 413395497 302403504 620829573 613312839 269386636 244816203 353736168 212274718 563346861 741039857 461029317 165594364 398804186 764020583 699169292 765289595 989731340 842079559 925107395 840232905 801063485 702596646 690476229 403862622 699799187 117718151 841341897 557970152 249663843 230186902 109731953 505762163 892831405 935323701 448208889 586739129 554161251 412786635 218341499 840244141 448686210 527027983 178984145 677804989 196848377 339341751 440768923 200940617 116546057 924867907 949149673 798763774 405099954 291809324 858178965 312737931 482468934 301784494 366743994 942513761 545931321 433985381 433411422 355894935 334357451 348453809 653162024 434838315 631327075 925934574 719306808 380473250 933118284 542419155 810765812 989069736 717091191 698992574 989566683 492745248 675352723 918796213 609343355 382578469 707503828 801673773 290476082 530887618 148563694 191178360 857767706 313872517 364936349 824345591 937401761 164508858 576286262 640554724 249947925 497243389 761324951 597078130 720699452 193631838 913793225 438621367 132817819 509285001 949520007 667749380 278782216 750325583 248667188 831983167 731574088 554958674 957939792 579306873 768291590 119129247 308930728 352324733 543056854 746950901 948606879 967860388 721420172 544350166 646445280 146152023 972064282 378539620 763760910 590989545 769219227 248022039 179287233 470953539 185394909 276682120 680868322 557774468 870396649 414306156 549753113 690164498 615115895 135266866 491229350 639000637 514822326 589213219 885278632 798712207 221329677 157083442 614171031 740745769 754864508 946046544 142007806 836562638 766194989 214268418 153585147 802224564 563144722 345707396 789203773 183840466 590967923 503720476 754121633 798012413 709469779 854993922 221171534 375061669 992564981 404974675 224582914 212667213 580941857 697866953 288965549 355620428 725639181 759236836 618081680 871546170 830040137 116565603 619569265 353270984 724814441 574036059 793491367 447842691 347188613 549243213 816919828 517493548 158553283 821752593 310045705 331264300 104643566 162347765 421461173 946979107 753593887 957003931 566197393 226702880 203215517 158888739 413558007 605694819 866973445 376256233 169317425 430434206 267589795 620318599 685869381 176381701 258801606 550779732 666150442 170749519 988378090 393156388 338426801 521023790 960653625 189310603 799873550 858233268 452612489 707051844 404660230 309538989 940186314 848296585 207804983 220989613 599397154 591171315 742712304 991657497 880663332 788827661 656875653 489391780 960004438 312689595 618414101 581679431 294743296 596073367 540505332 130892445 377145414 701713414 514711703 149406523 853887954 709606948 282542896 399719184 460091248 463059031 895818219 201256503 953292302 835914368 611615395 485469982 871810612 943892985 678411195 359127476 644747190 825073383 442116950 120849007 821621234 906882449 847334916 252097735 479745342 291541041 725076467 366761944 827268827 261241603 515799577 512649091 222981517 329204311 725837844 413599284 830678480 584588106 748386069 739318080 863610067 156396266 913279457 883455187 485370660 271705590 508511558 682216948 356646878 149296084 147952722 303509105 314381269 705663784 126409922 287483649 731063803 228730947 615228885 462903644 214470255 276678866 805889200 496816040 284296985 393023478 633473194 463158622 610884945 975862940 616973442 589124441 262809330 124628371 182842078 346691103 293473001 669264820 218680395 425379243 986035190 825961805 166260301 370310829 125269278 921613548 999752962 407902541 370762997 422791323 189915277 642064738 753947194 988463080 940231121 605786420 230650038 421357912 752371874 470923686 149456005 940667948 903947191 816554873 988208726 741119418 572373488 518392892 471823886 705231292 965800930 944567806 219314776 199204422 209463913 126596967 721541360 634857252 549671987 749507098 991969362 131879858 517434265 665280001 604467689 548486456 723897256 703235532 802266619 547827256 731192700 848211086 705793176 811376715 591854936 502078418 946180552 669160404 483856263 101115301 588898265 204572410 869328877 741673764 640825096 560638742 812944514 734131472 633646312 104830502 517892277 829060414 258327950 942921560 799091836 905367264 408672399 464049831 989730650 318337548 381997667 134375391 545837288 489671720 615511864 967862300 479930685 608941993 720106040 155296897 152771765 915988472 226572635 445333646 815343694 266887456 366807024 708662084 896658743 439782253 226654544 154699309 946103902 961837169 182599906 825144053 505604772 485041532 936705026 471161999 474491389 325353895 230975347 857272832 838950043 723796033 596108400 383624842 506103588 766259611 257348591 688636014 332387346 674271879 240168376 454459123 987063448 406885073 368074027 748187132 448620480 604006970 713824556 392463801 808874365 795224232 933529357 162332387 999007234 582186106 166471262 724614101 808074340 593527191 314849763 202333349 125643630 414769079 526512848 840772221 879950740 216243930 993132892 987569663 342463217 664508202 671674206 800732747 859933715 481331740 104048835 514543015 610857618 383515213 931961485 448083309 974254852 394801572 596965065 204784946 302426410 860179476 612099042 645666532 451671585 839128403 399532916 741676675 392764737 740517001 607389591 815306265 343110885 403530754 730107753 337847621 499560271 561207590 647019324 325101520 757754888 569051641 551570393 584099296 355205887 835693816 366152073 673623515 862305308 761265344 550153400 755924471 183207337 482128789 726706006 122637632 864481641 432711425 908834230 850179029 620067066 789179996 924389456 511131182 439467027 292940555 571564419 196677099 856884095 554740367 147033351 242102701 502027803 921630081 666471757 933091237 543653188 377208558 842599031 559901306 641001704 911126684 779144997 747039828 770360613 910928436 585914770 179447667 409774284 469012887 805832616 674548084 856968574 785529650 414308738 904629208 350701359 706098198 383146763 881948627 873374557 242545493 743501241 493072468 397174230 798823298 869370858 411767643 776215360 333795918 999099266 673385409 252940844 399770575 913075962 106044396 456338144 376996578 930909502 555350449 357178128 323053914 178053224 415647601 738342362 266961668 214723095 261193223 176992189 785691413 458643521 962440050 103150676 674470799 123204821 761944966 567439401 589570917 349089462 553992115 229248318 636848256 260402436 470939878 541892777 823909501 231536551 388502845 335714767 684569006 719000412 542832171 339521432 202564124 344828780 881648547 674892142 676164153 555382179 797278209 561300892 695658992 517753187 233845651 121584022 315364581 774376855 637323835 744867018 486564371 703498958 803341987 257104230 507331455 624236205 887500721 358172211 776041113 562797694 831640795 662872174 125079443 713598731 356451886 529229900 838586120 636241068 564594778 631613818 510744228 355515587 154294519 614260145 516471239 455952389 303498546 510813942 255913108 866551271 635691652 316239765 415323918 792163334 478518272 894865286 427932797 404844519 443032153 808453111 372414829 858228897 758207200 822778145 439361581 176245425 864604571 998199344 978233214 734984990 481111064 502723428 603552706 407817100 724981478 476444362 992990234 981419387 764121609 656827263 461237163 298235450 351038355 323075957 980571655 811687691 714193330 519289312 464585249 947729217 811274947 909987297 755261059 887071447 379708030 313107780 105416950 822460282 849776082 831046466 149681480 902982121 697815961 523490957 221435245 664958992 849809169 854149070 605312963 888962929 403785472 443836386 195724603 370624684 294371363 340013492 422750280 547158667 315529658 358477618 696352819 866953039 825876967 915981734 914899370 627855807 134394553 912744549 777731605 536279143 965541818 462473003 679364800 770163158 391811263 831926882 123147991 494106240 615810805 224999495 860822906 381021894 606302900 979277046 928987547 964268157 580196991 367772934 664423537 137078131 847497928 244334579 893938655 161460627 313086823 409352566 679147769 994196797 332759528 133955170 209169887 912906224 844493750 402161315 994196715 317266995 466378862 500818879 679065288 151364568 493695087 863691957 191022430 869512214 564739591 316902750 325393921 795783911 477199045 339082697 813336535 501918256 517313828 104382835 179417249 218255647 305671643 265332224 143218104 416971292 664880350 892569547 246853464 174830735 336588140 127193551 724393580 890612446 144044134 683494518 577843020 456874390 889383338 389864972 919523895 750706407 110901738 494126161 283773706 408420405 300578672 569002780 518432723 874929312 723422371 446419982 360174401 217076971 406255862 199857010 316485988 296003179 183521886 412384092 772329197 698555353 842308175 889471430 973499322 173629336 800125445 665639403 430678798 294871277 452028673 566299426 574429074 679539275 631878696 833458165 774622543 314499079 206547439 610073959 828822389 243514680 787957056 613480792 449103979 818128274 127128771 602327360 696954346 119847710 270392222 537604186 185381907 302794782 109924291 631020757 722034312 551231089 172797018 459907057 613653147 163544309 224073240 397565652 845429112 778613335 610044843 591816030 165436087 145265345 960983535 638319384 478793325 577284133 556876982 517341091 341940896 949655242 797774626 293711446 483143777 617925341 758780943 145034729 678328146 591504904 585334325 828641017 223509394 577138828 701321749 461567211 979677435 747178481 432545247 873966873 757402176 918739775 212061022 850794000 158739342 530838307 371531490 378125457 684385977 871806518 878546117 219469247 374310866 659620484 743561449 749966256 191572290 288370652 460279434 120467902 692287726 157628366 621667448 687078207 364959076 348668780 886513224 499400700 206316655 369942683 710023011 489967718 314792972 249976085 854865677 152353217 288704659 979254429 992734532 224719577 125749081 554531364 477504306 153262073 286620268 835477844 759799425 403955669 526006312 975401797 238195145 645261299 990751259 255494253 629196375 430592819 807623201 189980232 893290672 323822200 872059505 376096693 595692630 493142940 770903920 314740950 280304394 266583803 223126384 752110781 843340950 110892077 459539172 667323335 439281814 230985585 400510504 201590575 325730721 690581765 607383523 536704853 260637997 720020905 699927842 615077985 361257659 225602698 533485073 383425286 440611010 396556893 150261270 959441329 803185805 720458572 606777397 983535188 852143022 311193584 177137836 139679066 825431508 624790658 220680822 535154018 364765725 400890464 326010385 605633431 839151937 406861842 765849727 478540750 947568535 545420289 843153984 727220922 998666621 559807923 472756364 827982676 790827032 350146342 537365010 745803626 133981120 408438876 854366812 473061914 929970974 418444448 604671645 720347674 202190375 385981515 672372796 499412359 706167302 660710048 102312638 346279150 398484160 231824115 556032450 489802022 999823865 958604031 123503818 588812751 281004085 859074720 346961924 467575657 354368165 248055644 616576129 980224484 247242716 544617689 276145075 901728920 731612129 592624550 828100576 522117473 184835434 710538997 193099562 305624223 748552779 702432185 580865815 628578568 733188437 935808765 798678666 208895376 319100904 352788676 183012170 579946525 775484295 457221158 978572042 456772108 556590152 501639446 786532451 403308056 982937583 697010471 724806694 155064066 661384363 804149063 112222061 628962269 747619027 838259546 934424675 419663850 929886868 493976958 760015018 519565162 996350140 924047271 121441340 799684136 262118424 554753561 443820540 968767317 185455777 181879090 856595772 705447726 168068239 901532746 807502990 866227974 948673722 647014218 851116264 205162970 620559337 526075822 507894090 973346573 354293694 479898714 794007222 747293683 132279570 722389146 157202670 687711312 734153540 397116276 443256000 812512370 871868283 180119620 161541736 932818572 801693969 307280363 210535345 192158181 708676672 441550970 709478288 591252373 405964460 278967237 838374959 640803384 873927475 190976262 300030460 820454372 928544780 665341666 909449896 710042096 785728999 928320206 918373645 772527908 658362784 570456446 542569011 445076645 686034191 760064234 274569923 152622785 309100208 540468151 251542190 983566728 189427199 701333088 145779581 634045340 938936629 929250250 384379255 195855229 311510056 236413419 600837527 566188501 325024313 550506460 663135712 247267417 402007543 496793308 938745872 291446671 459234107 553854098 178943959 394909268 733740219 801183852 574544226 127645748 851513093 735301405 765775938 779636616 922030167 897683420 834898207 366600980 321567106 256541060 124619435 556509628 329396599 814517630 508323768 630262269 707094519 907023409 375250354 959184377 695880499 595614965 244951582 980703411 410471248 938386126 199273412 878364346 269958836 692150061 189308346 960538041 144166422 965945741 299751754 879178806 587897422 305996514 415584654 335714703 757674647 345172384 994035427 947426415 507003968 528125353 735491723 282493728 285010414 284148758 810575118 408479231 823199222 192129329 394950857 179434481 440351479 551841150 278413063 410642252 354783600 754986696 468499730 330459921 193233601 168319617 616092706 979301118 439117882 721314989 119333125 285075894 451709230 357910714 445631484 653335056 339066565 567896101 547990487 644482814 755258388 647291234 922706689 242379662 237797603 105902223 915981547 303034490 831997705 659659504 125742891 975174840 905313013 892813302 859996575 253361836 641935157 416339754 642822407 816518629 219411549 755317087 239088816 502471230 869977792 263374620 776554172 994291026 806660177 382577151 332466260 221664558 950705573 903871032 853816536 609816913 720722370 306170330 576931597 346280521 145280469 853305155 397084957 661764219 140797311 166357841 121773605 302881881 542887403 600597112 463620104 185607425 909673223 748150496 539993286 444631859 403745842 564753135 224198538 477921869 187159970 273857953 648487241 441417751 393933480 489895260 290138658 626511872 856057836 983453501 463895618 596225273 843079333 224839584 349036116 184438322 277161675 247835941 442163561 974555953 254886447 412290043 309752686 508256228 251681029 364594188 278590384 780507083 629736961 546251832 926411985 535524970 245744575 143749497 198895016 206873004 883818897 407883203 306718585 127438234 314412930 253239209 600219269 205851269 202293725 242850610 486087342 257573161 345786924 681639235 237440569 738912307 531180702 301043211 720859747 765815715 695164661 648631075 280997682 769991430 469205281 666133352 748245583 405335595 956245221 607291361 938291825 809785808 577583870 389381281 322829066 161279112 402856172 643518712 252324134 826368600 134345389 326676866 464180459 114474623 904333402 237388881 588659661 882374909 217080621 677769014 174115402 277289324 784660928 643570839 496515634 491373970 112102956 172141501 921578223 409335224 622119835 208909092 715850710 725055158 400162466 913860548 142135251 102655954 385909851 353803866 859368639 556431817 298844257 376216521 156056942 957610957 909778403 297788306 769131623 297587798 368776864 772137100 589581504 799508647 784549803 792365858 961149775 716135760 688972583 105809761 917988032 858928621 609268965 954149039 213694260 607295931 736765059 478265206 765847860 434563517 224693354 895467553 134865940 612044321 252807241 528299116 791667632 869784167 917972088 382960369 114590106 997575503 215748495 787386899 600456847 329561538 694150003 473657881 959383943 720098464 907835106 298103945 903546704 301206505 473245139 810865537 433097791 379975400 373267074 365887797 635166558 927226559 578889573 624771226 958738200 442026197 717028888 902794965 812630387 715138488 451292794 947639286 825852351 128154464 929880816 963932918 358779791 250333946 995640381 190027697 714767376 657872398 441629257 304752686 711242030 290119905 349429430 717316722 998742180 596307757 754647380 307753655 425128011 334906700 779637297 672691023 738223907 337875497 759802892 298145595 870377279 484457672 997000396 977212900 649877424 439077266 835268276 415248985 221601310 560756596 890112072 150583367 185813831 924781138 274339159 766589079 414799998 728813184 222880175 941942363 596868156 922155359 987770383 852321823 265294412 363114310 310917892 803557757 130577302 689148346 946992070 529685929 676405264 885282315 200880883 971296383 787387600 258460583 183844913 855042037 779196137 965637615 624533325 680920115 877922076 576675990 550926609 293351517 370462174 618389355 297552981 200322521 205518410 584579643 549048444 719835946 305306646 556929340 788682957 843779951 995013349 558817491 835089055 501114242 168226274 663246160 799725618 723950143 492200699 189120381 743853882 532687465 320656086 404706662 270440996 468101921 704395441 916575262 409086786 476730110 898218196 213761860 293313831 101758626 609008236 877151402 104699785 970922121 446463949 998758864 895744072 657061862 224369500 269674390 775543002 787105145 971584667 611121706 806013561 921149101 434660155 662841605 324424557 961228623 121013801 424971750 716402663 432261102 624728419 373490824 828731646 802085576 214243971 199162812 648486700 836440147 391736118 774475294 699383133 838431272 897139605 980833552 796855645 739798915 839690035 365315871 641846683 710538489 228900155 228139986 354385583 105553058 717644876 284762265 920504935 808620873 552579354 615998631 474626170 905284337 124554492 941395314 432823141 216550680 501619864 994393915 297085222 305724977 748447392 125057016 541952896 803347902 721082744 160702688 479562586 774263529 237712178 905885399 254919244 245969417 962965166 232588981 255304723 171221467 450037287 105118942 937887629 801293775 908118671 619497435 622268933 294248186 848173788 202140528 639134811 737196329 288234819 274149190 233753662 898038137 856289980 678171426 373613580 567819354 655604233 954210885 820713311 814661366 569626079 589901130 227192791 522569196 239136829 836957763 882617891 780711737 492203221 520991521 790470205 613493774 173031530 137060831 583987008 222597973 206042135 412573008 203724353 496723968 233705738 825795543 885616475 504081464 558711951 914059017 792734076 938752293 616063992 123666521 792051018 881404554 632752238 838729210 657726828 846900372 982914232 155529625 486505557 364477301 433766431 140638297 968297365 399463254 171038511 638924934 389168247 739603908 214609618 220840330 701788396 556636958 649544130 425679299 486082134 774879672 176299024 483891312 128483667 674099038 145877149 914910284 588044412 499495879 186431813 198308423 967055151 266699002 203348635 469433391 721377193 344900006 559568714 117437817 313487889 165406906 940189142 421030984 351726852 960436901 433279658 126342301 838937974 996325997 833747548 826376792 454479921 997831433 298836187 603535828 867225718 963000722 294213807 953270826 837614761 558299271 381787015 540622976 709299781 599131418 621511872 857121879 616935272 145027355 936783611 318907293 706129466 767544885 391368772 826129861 105304330 910504254 246510079 768595510 295621773 730170130 166528926 746896469 626847563 392362088 688734809 694347189 591551459 473176692 307890875 141097874 788950432 484803562 283370349 179799036 428351240 579406264 794632802 812127986 333235099 582336583 323515883 446272551 707631688 468532159 616880672 268269825 693478875 283700081 238378839 737861012 146565672 507036993 622498995 925903069 928534462 221275750 236662738 888477408 481959023 126107021 433509149 824624705 351080795 640245948 190760956 804222662 765775505 921228363 853528053 647177060 917376926 422461507 551608740 670535673 712118166 132479815 967881175 458584345 860775001 254643390 770378621 340047897 175725966 735547885 989181475 391340010 887613019 764653155 851075847 158121682 171012790 825770974 615480923 182638382 253499792 249561272 230045038 613493413 745987978 839044657 522808838 448374492 811647376 403978582 709353532 680339844 487878162 770860093 947137411 291419525 127425401 543441107 153704366 166253573 689493639 557211904 716425301 403937548 226033305 365329663 137809116 986702784 279048824 636107702 696687165 698724357 677701849 477048925 147870967 631614000 929903708 216662132 357208629 614619115 903698957 476963565 448634798 256818762 225627349 368549667 334134519 838301660 219062867 545823428 696025898 563803118 520057647 910849621 627608923 517972297 747521441 942750007 212870366 307733378 673438991 247460854 977723357 107674172 429525885 805046146 988557818 901304542 181183090 300400570 321456247 756358938 116040553 354565126 298285110 410193505 234593015 271620374 671974949 756573184 997767151 289698166 851266929 577970987 793664207 770426205 991084717 609228380 541454707 101970144 267005266 936564471 257377990 861350175 493496198 465451876 707167378 875568520 913762916 597918447 934154483 346377082 717264350 745796195 155391207 218987582 772055840 171299466 403217915 721447054 634748188 868611503 799067783 672696488 772612952 633812017 813400363 433158734 552716678 787708051 807989741 713009283 241161771 801460498 781475422 159571131 974847129 147552830 313434637 725867607 219125802 423030443 293808971 833063461 283405414 995961139 887521380 101359403 714823278 643353401 155710042 913127756 443900077 475148245 731968966 455580238 339028065 181014489 863507953 706573342 168166237 955062860 977861498 543535375 595738438 443527506 972078248 353011320 637492634 140204026 464848267 530098868 120186725 882674602 434744962 357794734 450995120 390714196 326142167 742770961 792806254 549566391 995647508 500498392 987930491 930181624 512122240 322950379 659792507 567567067 847599032 709332974 259113590 878145679 130101049 489746783 676055497 386193183 623081422 506558787 332856128 526379285 765537128 195343855 325260749 147981595 682135175 881523622 639261859 902978365 740221010 853563314 906821488 771015328 981556075 655279176 886434703 110104374 937414062 257349194 425079960 117185800 152259276 110721957 798625118 593737090 649064363 592757097 709798579 548331793 353720376 928906333 214876569 239016089 682588737 255229245 238410596 144684702 834731720 545011033 239546467 689861804 200331044 260470386 756090479 981158599 308120681 971363045 575298340 351108957 673843244 767394796 390713647 314249038 898083346 133751958 739456660 133250226 774724034 948996562 589965589 397443536 646501753 466537342 867954987 301287518 318043870 764424505 822604739 709450590 606674483 889242703 440541754 364348671 193654543 592972656 784490252 846378264 168943048 989459368 616858858 159303410 566786385 735894063 972136662 619906706 775360222 592268864 663743080 401467893 405818167 840492462 939359672 528653584 948433535 616038620 266075369 129419934 520623619 649145245 144952761 901893834 793135555 940220878 696745217 609072652 817250668 318095722 789305225 880277181 378840592 127748470 340909177 491931023 997782127 873966412 242786284 438086950 269496134 443382244 515608015 208657797 255901053 304559989 832694681 347361455 470550839 862178034 985581003 426844812 914385838 366072523 633306221 513235639 674144143 329308894 199065008 226674398 297742215 907736225 208188520 544293241 140910501 500666911 975438886 260175287 224889764 624965429 745440634 677348682 707591046 646981275 711318001 998533693 945323565 259875641 879317623 173852492 161227991 106141198 831344590 422694275 504216932 818353472 156318702 129471174 141449227 842067674 454163794 698896870 692271103 664121236 206580434 669799390 904407025 499584319 757369565 498313309 418893784 164722737 793724334 807925868 366008934 752290087 371443332 996194966 233223356 656763489 755352119 416608048 938278252 982752055 438752939 641892455 578875871 265673413 987833902 209006316 698514322 650567073 348031157 381932378 423355302 203157509 932849484 357892136 400883053 188381345 838481852 343258568 630826864 265934200 635406266 245711765 123189543 571378745 486543537 208646047 233942572 528082716 599240770 306386983 278189745 313047372 915701445 979705708 715759742 227813387 939650455 771437417 989281489 130025275 688895939 918222701 246095262 270452205 956209509 308901966 963285637 111191412 392320612 388266809 955715634 147250972 303129262 987171522 362912189 170302422 700381553 463773648 748192319 224765166 798145356 633858002 733853288 910229353 572119997 807511828 574231748 211821240 365068625 605034898 160559458 362503283 354974285 761276142 817156739 128968614 577569917 763269252 404260602 637202682 302646190 973270450 696174043 381058717 547062710 695704098 684468158 669776767 398117721 665921192 109738682 531025027 140849847 223638043 686568510 368394306 472858609 594645497 521720151 225285170 359081197 482211092 370684238 948484168 533829177 380855545 811201233 887866812 801955516 913202014 249342613 952575438 740869566 937858235 155242299 672836981 348025601 917150266 570346152 768891013 948536063 348439650 523179307 379039303 441767246 795563633 492864869 972692245 493103107 508685895 594472339 545291016 709215387 534906226 665802801 195020541 113932952 309505583 970464226 803678122 231603604 174573814 438422486 305970299 475836999 689101131 840690802 756495302 244380192 754088257 563731261 933340250 569630259 805999790 316011518 955195159 659339871 557280719 258639454 682197119 860092268 762914582 991079831 411592396 418609094 859541950 925386674 710314323 398037575 484970583 622388174 493698243 447623498 752838250 140707773 653170370 368364158 235127377 130317851 331093229 524198496 543457784 508748667 923445006 283649864 511465159 693507875 200398490 456477718 728008874 487457904 222313262 764719033 750729005 317407976 274611437 883917712 759079717 163329768 900350236 599043625 787005793 744648264 841368696 648836890 147123936 712098259 239839258 990260464 147189439 528958356 450794330 836608926 345128086 683771311 466082834 766861924 254439595 697673738 808633539 409242731 863605573 400058645 830415820 903973878 522570402 190912626 937079270 986292766 437936330 642816828 676295509 182463754 489888064 177026475 410495671 466011311 507186665 737965107 690711378 566535274 839359161 536159222 355350933 487515589 365642050 837357116 933860707 325077422 139910742 307211918 590418485 536741503 378052198 800129619 159048838 761623542 245850252 447963180 620266232 216583960 649424434 627820399 488740020 719929671 870932223 431005475 759494343 873536102 261941691 139750383 736164445 408417289 256107663 179127582 989151329 214091961 747233155 506109129 533347285 474434884 706594662 817337314 546550915 815568495 337873183 449998042 410397212 858342130 387736609 936192475 799763933 782142169 139892077 646816468 943958853 697629187 714154561 820194123 456810271 107208677 208236156 813162388 878901257 316402135 624558761 679203635 599884239 342893531 329076738 862579526 570671718 184352878 582662648 242396579 969170065 280605550 237125075 800352451 251129582 996335159 994485155 308623073 618633848 152978043 495813805 891155208 239354999 108218137 538193811 429687132 556005109 358811522 412593823 104130020 548440253 984178579 509871758 266257422 212641039 284554365 904209338 252911181 974635468 642866099 233833212 613258067 343420339 620159998 893018231 120189187 113443190 287061629 781536436 372202673 321288029 110827524 697968207 140416294 536705731 264594916 393739374 960009307 289844616 302761316 867036725 154685862 436398486 425736596 369396225 923828276 927853998 270521738 547829185 483523444 833217923 520058103 762536538 925575278 620595503 994140496 965374545 258731545 992907293 326780558 812120684 916056286 480910097 718195806 779796986 974774722 762304288 498469120 837572395 842972143 340002258 802053397 813338417 654582717 575419485 815348264 474405221 451193663 433282478 210944343 486935983 827731733 998935077 993861949 363793685 158133358 390709010 155561226 244184571 426529071 551885691 615033362 196217907 219311083 553162012 977837659 543975862 205693597 110851379 453179523 925410170 206197790 645419615 391795208 331796397 649570041 927161004 142117569 176593684 856180689 152826656 929128733 677954925 372099581 957819582 765122081 823932164 868784616 866529340 990849429 781885187 868168363 975018146 609233822 762228646 803409062 745446131 926238706 573478409 782952469 729673034 324103781 300596461 239374796 854256835 226238150 463905970 205730938 943370240 313629275 345735505 384284174 560415079 320530591 701889407 238605253 578970741 625557992 885050648 793013579 997237720 105294910 996741075 772565042 543272370 310953370 219502545 943762030 848103458 207090806 385753604 719858531 116853154 677887136 714487131 948644600 551181318 751896223 929427556 476770680 286445516 805393957 723361976 429330807 318304070 806238949 894272985 603452558 221240696 798438542 506504738 426353780 659397526 171045307 449313694 479700962 143682174 394244445 314462092 230228335 313813174 370909109 820527483 729744962 519346936 777305102 435343352 344988953 935684271 486298643 962678779 282626101 616500773 785076598 379823475 941640652 852283011 662874264 810153273 183559612 671793789 942600310 513447831 758531180 266781864 995556120 253253162 656790285 851087204 226705844 595885703 740784378 778276584 659021743 407177453 378346525 444310187 233442938 483366468 226157645 548266322 875660968 365556976 809328060 876249392 837504318 404022599 866609364 310077148 603237032 796206922 169364719 178405180 177198056 349454017 621854539 442315193 589788854 430810663 394225033 724773791 716457013 844665362 427990598 274119370 777197598 641642807 341154979 378967599 182886273 622214893 965782162 159545732 546473313 998187510 611294475 258287256 356697861 550759826 417990139 655957481 254254768 659653167 602352778 744305230 878412183 107206304 700921537 176748095 597402972 492985183 874330778 255290517 275465922 211925310 576739143 483772644 526132961 962761387 110150896 523175975 780234305 659536243 991473247 634050655 229843876 430743706 124290059 811309970 463191593 661865463 757563327 166750206 349597385 196554324 510238841 906121892 989827296 153578296 990248840 711866880 745954552 784244268 589443878 645963505 131599170 146124662 963555461 555653391 383664808 911704288 380152766 421735591 841541365 646171966 577764725 655005188 839830095 703826868 451895004 748106476 987102641 968977164 137773229 422140133 565461153 223122688 861986011 834206690 796631142 749907595 585049938 906102419 888531325 266877743 792016232 477941454 310600788 715629082 674533188 528428658 558043302 757536546 184642001 127598577 496119558 258936327 351752288 245859129 638115887 688871729 460235231 322683088 436226860 634076474 620556318 918532775 620494976 118016098 685513188 383789562 310480242 780907622 192745106 527078929 975431581 495986786 720102906 122356078 246939793 401310657 394383105 864195491 287244062 972575688 685243394 296950465 133909966 371104684 895376492 857467378 604555595 204711977 310948009 573934968 616337799 551063794 225836472 481489442 462737159 557851814 403407855 730605847 578900347 717203555 301607567 881921798 420236516 263880746 860985624 414230001 982089675 506775979 568559337 907247844 995372013 836995860 827276685 343079381 956459564 602241700 576951331 218712869 527042199 541931040 693518864 372125010 332233427 207628319 172385383 313615745 986640673 770770055 543600266 746111610 468250708 867506327 460874631 458276714 425369031 228569278 861589700 467391707 712982588 961757663 797413071 742868952 714005842 373475820 945914540 319113987 456866357 591444137 230661372 881046633 383363858 158847869 828400333 481583083 911865249 824429642 542618481 376451028 809118769 623898987 533612001 479508075 423900521 824847874 322328961 312354968 359434054 165946395 361085557 491022795 594118999 766468322 258361864 227005057 971175790 887104086 149275348 474170869 294816779 561441475 510499354 807094200 575917615 869912532 753982437 289332279 903178051 913459510 661061982 611192478 483116927 951305821 810880759 559843998 120242421 810690576 536234071 546007282 790088243 284287538 798551135 106851120 567093595 549248820 410458185 576079760 220495334 533354522 429586474 540398949 681114644 115522345 764381214 198894974 182643451 765652986 949116045 126279297 964489956 319179660 242848132 879120336 180215712 863970321 837489146 179520006 365437077 245078857 550276237 242064328 905194786 548138730 403410381 586277771 666535081 150080845 610799773 202049851 110357542 233554184 849785237 144935560 456271347 204766497 405559492 914426707 249098638 952223481 275138357 669197248 934966069 235419340 696619564 454780771 647595736 331992632 708211272 786674951 502202663 316782525 902844973 313869334 630622406 712971924 740225985 400897818 795752197 382541638 159808738 770122052 791311903 278159929 223283348 114327181 145941641 353588095 780403610 136178590 525396730 475280974 988258801 400975149 337818455 332518085 712183141 366438533 490712570 865096766 519498277 162931300 160231508 160060471 593258587 981329169 276536281 656107710 128607880 394551473 630395320 677681641 583516034 238015830 787261527 197236648 834693795 652835941 779426104 534754912 339186525 962063302 788927060 537401847 485890986 337414875 931752034 285491217 745938509 159036137 232916737 340958537 358120318 500234483 412034605 237524450 857192014 740228372 871120896 958943233 372181625 476761537 807621216 902264236 764845496 359046581 973746801 135438985 204048254 130182832 908298555 532538270 985214071 786810027 627413840 662292053 583782207 292962255 531263521 755850807 336073167 626060992 314806145 804736816 389556700 187560623 352101183 925111469 254378181 731668148 473121891 536771837 737310017 949140779 857672702 991752251 221691323 947754544 286749227 228724838 536617159 412935823 456307339 109945006 569195774 899810572 817067511 763356642 514251880 224880336 754157683 691808492 148455578 941958944 526726300 766756317 725304472 686930166 261606076 758471414 971953905 750915832 921115950 933830914 443379188 877495990 622513419 212362177 718797528 158550665 975362641 553724643 309258805 188307755 402324895 971141183 430686454 957649534 654867859 490434099 670747102 809871628 359322094 342293534 144911850 822241426 758100436 482634255 909367195 537591416 653166068 259825134 238849322 157931274 735161496 755776573 913602168 476349674 356008683 113832114 305124847 487023379 170684783 969952146 520167354 880418899 895369472 327858327 750571354 161370675 688245014 300366721 321251279 927786797 124888530 894008625 257835196 349341767 348957494 361854273 199459110 199837062 945163775 647122255 194309091 124998077 110259888 706617179 166408042 721377834 699920905 331710220 205249952 608250738 318385117 176584076 403561455 172570323 737205294 479292949 908431592 901089046 202417590 158745353 924123331 121946230 989039586 596993253 812719340 729590998 936507731 285499745 179483170 489456036 566968563 123292614 305735144 316228006 925793356 879302336 730290322 112975099 712385330 767763371 218649405 818440919 358388045 135643156 718967695 715719226 488401933 318048223 153203900 824017656 475686118 195731032 313965092 313870712 553405666 760691608 905423012 221828665 206321304 698903853 949697566 781216292 127124655 202879889 756612487 775104493 561018372 890001393 749468500 886791156 217539361 423564940 982105164 727501086 804359129 806646088 720542776 371332030 704814371 522000277 192321725 872046040 846945122 343477584 701636158 902761584 248308922 376761433 105398238 258700795 740805238 877054944 356570067 235529449 893713271 852069008 131778013 479172898 989056076 567489875 857649026 566404726 373156902 821237180 917037432 145246040 364852532 453208531 516133278 100831947 374287510 635902056 353135271 310231497 707829531 808630783 357743598 267788317 723717140 111212284 779074942 390718233 468480645 269197724 810862617 951257089 754376683 604805470 481285835 633442461 776461787 647094263 153141216 627363068 556332365 372716854 905052074 830950901 853442383 757490202 963340781 846058721 115906426 946527468 597188709 662099463 515970034 611275466 189771456 481563742 158302146 398220693 844940842 738676065 286093595 494085464 219863351 828330580 485511871 701719689 778234355 594808242 310964488 465560020 393475289 167708598 100093035 425311766 212066142 124127893 586984865 400810580 800663554 714509197 721007356 733253273 206454368 838860982 951838462 585352767 608194142 266688347 258557764 400869609 106741566 470186416 290793362 713674371 697683971 572508486 884331891 806972552 419761914 457289012 962631415 946034020 715884718 338269320 623274392 241381208 561100773 966160973 345350437 988608319 452900872 117058230 984525560 358373412 403468375 327041009 253757998 720361740 884954994 377028399 698027041 381279924 160789001 697841137 494555551 551959955 390081369 251062328 509010969 275097813 174459053 740870842 877104792 910408388 768355782 671721232 639591248 467952963 294811651 850487214 884057817 612406015 544818894 123030437 770443621 282379875 164629748 613865749 672747714 815556994 683148157 984528559 897491916 608645140 258254580 379805075 347021166 258256579 646072720 969992758 912702094 559783093 258926849 192946175 720565241 421663574 162307023 757446892 780202164 732704441 287019054 185318829 780809425 516655305 683669621 669626203 388982068 996916383 138057848 953934385 306806539 384143171 556207705 821708234 611872521 868521497 318712908 757514205 969701176 283771309 939625761 505278011 590993016 460409890 534790027 514010402 234087259 170599754 169512904 644608559 890337492 203863664 353708666 452687422 691141567 100613907 962441962 271250162 987837962 813693155 506115489 180234523 511189654 581860144 329119164 129315583 911143080 822015457 985822947 761651001 743936011 628582777 400563318 709183268 439607480 469715830 628692942 896707577 132958838 755409723 458859414 177947646 434011146 699010340 141676274 263478261 447287808 815459029 413287504 168849481 958191361 250522198 307473372 880153119 140380199 475499636 926324985 227540229 206012973 237205511 390849325 349493173 912903036 727554208 262619693 992661920 933260036 294345418 688978965 913122052 211812926 292847597 165825987 458119020 479856996 379003242 773233018 777692774 541370383 981988767 277820814 192745402 984058222 192413498 963678008 137513886 627820010 211824150 712225506 321781573 935454744 955640573 133955965 751222769 607182689 954672944 149400205 874304282 760471917 785790145 738260402 101917717 669459993 696599154 548546222 493414301 860474195 504552841 874430143 433493545 695170388 592418821 400080640 372812918 959088516 223254095 908527045 832549213 946432769 625619031 396199075 826189441 677636431 250127879 303159245 930060763 762312964 485279818 592169268 131340048 736928582 493934627 995595150 290509197 113293255 186549178 986382984 572916095 586880440 504159420 579430526 491527290 194095167 549838752 760775527 747432421 537543144 713270372 984368884 759599753 101174674 662491279 519599953 695044841 994810231 995537858 635041893 311199844 837322004 539190448 829804995 393155152 695727450 319706944 470144008 148075194 722104724 639233734 165082310 810434077 660661560 752717895 906782325 146870879 992626359 376521301 996234287 807795272 697965829 651156024 969998105 789856529 917475661 684920772 461227320 963676926 249304961 151351316 753110756 697370863 284233679 566985093 313767339 417906655 673571043 160837556 634123318 246134621 720643571 474222164 364457376 346752398 470948965 207735150 328534107 665289741 715713343 277439124 470258260 387450852 954624590 447358705 626555934 996371429 643828044 258727048 320016705 167876970 264660547 851070611 962636591 557441887 582900867 557452085 852997677 583661924 793326991 908700949 890473006 594837806 708683119 198012127 354433529 152855214 200333974 436782054 174803394 994734993 599100853 322208009 605038567 307437851 719981074 682131851 621119202 997871024 956528426 258294800 158492477 620493189 943576713 590248435 889361230 938853298 297691097 406401886 313926299 656150659 759460863 503413731 168317737 712504968 956158936 195793708 663704499 299600157 886643727 682704481 651738980 458962491 650810154 499740751 927872248 780480558 875897799 139843302 506726697 166291260 209938405 517739640 123864203 547844202 470933143 853029313 620457477 427599988 426314890 653580535 809840646 586838142 371618152 124064189 210416397 914245366 701590679 110645469 590149321 948600250 882635920 685316386 702274989 363271030 729073292 203222230 417527048 539918952 844970343 744207191 453755352 227575095 699762256 271434614 481718500 977581821 128983672 186659652 202625200 438157936 209969838 844971088 158729770 595049157 927090670 487580236 296863271 759364086 549974707 746943373 659395692 426104361 878338774 760982725 319409893 605497695 470065216 123168223 758367953 744631230 607477856 851882006 643465336 797125239 866389239 204449736 750356787 217743875 822463500 773395672 342241178 872263848 591830097 504110314 176105892 218746001 773834467 467298472 938772794 181866880 709511367 146802317 477077961 797578441 438990921 663371636 277966877 975997126 902691009 876591791 431290106 444018582 987087143 576910825 107540294 321689191 970614378 134066397 160476403 896944936 521369226 509220440 435275459 691465413 895092858 725788942 609165219 172215108 183942538 137575421 338035415 964233056 184492334 812512828 892882083 979668943 322698060 943732253 624189207 344576392 846049693 860105193 779812135 108540156 280146782 593559075 568927674 405095969 407395596 862594594 194092182 730609198 185994016 580058280 465539852 945255801 462816896 950921159 473900295 111216944 864023395 410109738 149980371 848515705 741121081 367058736 261666465 173597170 789002314 582553692 297407743 616282950 448281936 103945050 470463409 382631567 134080314 492951864 785209110 494332450 919557966 593013225 893064751 368948441 431041032 498229284 103959140 240869400 429356954 660971098 149625902 563131402 852634746 646455826 187322863 141136581 294164953 279308394 445490404 864779092 716466831 809132318 346379249 545503905 632881055 211079200 551843804 233890789 939073713 515381764 659271931 409963408 888764990 354622926 392263162 202730346 770484646 843784159 682005426 644351416 141650840 167571058 225807427 727785557 896635673 366051159 754908768 271281555 605349575 615570003 490281950 628678461 566300161 567356616 351402797 769622283 523922483 525980577 978202616 580384236 598681341 976300998 186132870 327901387 691762703 670637477 622234765 801540432 907950492 230805594 928952827 847222255 207768454 394128063 123374318 987019327 506357789 930013544 271891292 166602301 811098314 321389796 703805863 505989317 624378169 310837147 371203722 455690232 707544963 242335260 184798997 869302673 521164031 661820865 229860502 736614295 117340231 716787398 791591857 281943733 672713818 920825047 692607044 417147977 995690381 454650425 619793601 439262296 530754856 913490587 957251663 344185694 576735382 359965482 173042040 766702913 132671307 868342024 889864180 991069109 513365543 747755884 359529780 862803065 540871019 676790993 529787884 873905669 129984285 159441340 220326694 933779962 348861305 823626836 115718666 180528534 483059463 255834535 814197815 421919308 840492007 382944351 941882930 945168100 309853406 602807279 316541038 971993961 958430925 649341681 353713737 373118863 838730946 812561402 314781723 877882720 875075293 392249868 440903985 351548338 985637155 978531833 795033753 967368620 925561823 866473613 709417510 803337040 635002839 905738293 599753760 343946431 739948334 220407302 152586132 868720957 898692165 511589000 628966895 667857060 703108015 825368205 954968788 133964018 372018259 444905314 478840761 603243114 834464385 887268818 829651510 712267583 320165350 470098308 427837176 420399560 432086681 320146063 415254026 322233228 105834622 222901443 771806620 562914751 115005097 858826411 206301461 148550754 728161189 852448111 466403418 536101809 132380929 190193663 875656711 918915084 169967906 621019664 488700827 989563184 764905028 382883804 455405717 619073776 907380120 622993252 662389010 200931123 620654325 879713695 174426657 920342581 863374873 454258702 673882602 609100305 387687668 831232730 233263021 948102847 432590387 451470713 596279118 995676964 781243975 487730999 311965841 854250719 719766111 850480740 283374452 153920047 423054389 154469390 151523524 478119646 338166901 542004963 937003639 188799086 488630644 981334840 184341647 131205395 729810879 260299112 833751124 496951108 390741292 588232860 423934768 627722242 886938507 664423456 157160550 117333522 249532387 128774716 891005236 446218875 180700009 912588847 723067689 148030102 315370207 476462189 228155718 238547232 272746898 116077669 260110366 809259952 607493781 251628639 881458623 945577889 169584610 488311523 468340061 819429734 430714437 834735424 715733755 682596267 499079194 843883325 519468905 502817200 619354555 881671961 432384456 807731563 578814053 334453941 423201276 773084567 859028164 772440955 100591279 114519417 720532771 963843318 645469792 788279792 474504455 282589358 569134050 655714987 476750943 232407845 947339159 753998732 687393324 971879842 958195542 867176510 755643018 184155415 412322572 490569159 822000123 593791137 321158856 242195807 624127811 487463135 741011626 610383932 589156378 393876445 292795840 394782902 931925643 445279334 306931501 969193717 706791207 811603509 161308211 807116418 983444829 532004129 189152925 206187233 576535873 992298578 563642754 362214665 675943220 469374950 837434833 928405876 960754322 994115147 139562511 560591894 246379768 105278600 845249839 615693269 615446307 927572157 253412392 813170095 475515766 905715892 741421993 918770710 132556164 187024984 447201647 529612729 762687051 264695090 161733859 542740765 260474724 932138763 937847768 867086875 759020293 224660319 529982826 350880355 993729933 638393643 818298145 869511307 129720938 457419721 582202965 838985536 151097463 545420488 833310474 555784400 748807809 769264194 152319234 119058945 757619058 330815865 565225808 401554477 723332663 547112884 502595822 604542706 556217615 394564475 281854080 422161927 343703510 681314077 714390925 838765229 199320961 420698621 601919631 725464781 655769558 803315682 149699499 305976951 871429164 547798674 684487907 139666165 984514706 147145880 135571936 690128141 264410208 748213375 529319190 732427900 591920180 378577603 572728864 975818791 970110879 874713455 626945470 310841619 995989231 583685177 783429181 170901020 166345507 626641244 417597725 931084304 357709307 972921180 435212575 230559404 530005314 797500591 989670574 675032994 176031668 357487427 870123343 528833274 172279278 240071026 390414893 913847329 584357834 391180070 271929289 784238629 157092637 169204325 244953391 113749228 478818447 928857022 417942015 287886235 823921078 377124531 773453343 714944113 592437185 957101045 854187609 445936680 926862687 251864711 930469525 798202421 404210273 403802691 969904607 934211959 787264243 115602067 662804176 816919595 454876859 454273740 308638339 941126516 131295822 771623294 704936362 758818766 224706364 726214475 114793851 789668891 273770483 723822705 697476433 201496084 957055087 795656341 319167473 225542888 584024633 461028057 917806478 495050455 730358026 717295827 682045805 329248675 945400650 768244478 466997713 600220253 792477027 170677587 359463561 375589358 648985011 866207009 817236422 379690430 776426760 305733097 587946864 644979877 394584207 847567443 478875443 574168586 353607288 254988541 248650122 503387051 197051840 178021960 471338895 251410064 731875311 311660194 931082096 172698547 399620911 583820598 170837873 974960878 507863412 324605662 781656849 592203289 290443090 257732497 182371292 280970052 851155540 721737466 988342055 801744425 349888992 486024328 972870302 730553141 629632501 867178954 445552948 968183962 877183820 279058212 866884980 380359868 523173016 862987917 144705951 735861972 960408542 255461243 738118923 613791023 669050525 630951579 355160003 237715531 778585952 862544998 464937687 585034603 956340951 714272024 789806810 323580367 883447861 732805336 354108147 631607715 234038492 528232623 395556093 470502008 601786596 627881554 314745678 678481060 450598917 214591099 872360886 730332238 843915680 634504170 567044274 831413040 332113562 854124880 252066585 540080080 603111677 769093040 969291032 760760620 834442541 845056497 675985207 787865996 104719671 366347837 915974715 552536904 188199796 149977689 994037166 484419585 910274601 162029413 470653530 597714238 866858368 813096911 221507996 593256192 795141511 874411890 995032209 628263594 916704806 581019179 276766115 286848999 416983540 833540099 669634298 168051535 898959637 542556057 423590551 566806468 881127793 694770359 949622497 936301693 799192984 130768062 557234487 819256736 876368076 881145396 495865202 295381068 822487368 349700323 245574545 319765163 804750477 396042027 529385908 452998504 830192772 979383957 609416657 758349667 276503049 655846688 995314250 599009198 315646443 371264344 875717453 228954984 373497342 470379697 285921484 551810549 575562005 771328094 640219451 747105672 933806960 697561159 368559220 215380296 287468990 476477753 927892567 565334597 958517306 980412316 271126937 884058245 650965838 348284181 115067047 727786304 612978807 434671453 938922705 523564264 629955015 493872608 108793677 228443252 653936299 280269945 853907601 285035822 494333865 581133107 987218381 213082509 598209139 710337501 117517784 205635471 729986005 351569450 254898716 416475812 419642492 518423947 995266133 609251757 328510914 323767340 526664906 247920280 530913861 812431291 105116637 981423706 959141491 449415586 158696488 785169267 996704597 800365043 629767001 883309272 750909863 942302964 876749279 465512821 890506145 836818474 500196896 746963024 974091992 845355659 508236943 499752354 615903466 716069663 188632145 745305433 890777549 171962408 887927933 918597703 900254295 539541623 620997637 657969507 384829502 436774037 929867528 871749588 573963552 286843528 801043451 273503368 120699157 763277820 854467870 582860886 780833600 939000405 862397434 334465300 362916950 439518901 265122729 973428310 374952182 213135124 480441985 876359534 121748077 543970905 615395354 384697705 810385262 980317911 970282771 302572276 805159522 228498478 244314506 794810186 565672726 472344121 708688557 635420009 510911366 628339802 832937924 637287468 186453969 802758071 572520814 840524544 561704845 918947740 506270125 419762522 266144486 512844319 345304864 122364355 621506504 817813049 351392075 679222722 322045850 659740124 653661728 497079553 756068615 723289735 554655728 847059153 724694204 473314323 281799124 147889875 456692854 247081781 709828057 523857260 623334741 320022410 616541081 107463891 753593156 386623422 927147130 596367802 392499538 591221745 977230389 954269841 974192120 507952370 327604650 503770966 491101436 411616774 133005672 533042022 642860064 907494742 825596225 264993405 613853857 990522472 275360914 516417880 332208777 865147278 875369788 650839600 729306778 511821178 601992253 649223642 520518735 916365040 806744119 448663406 370036337 954279042 818522183 942362968 539367704 761121775 715767239 557354307 135584097 533136603 819642447 462825499 786718727 966876534 631524755 490211082 937296556 615580623 779473060 719631928 775495723 817906216 203013116 690670764 978412691 963538259 838191694 636711353 172746418 860405264 273085963 526354690 453482210 501633906 629955927 796172013 439000918 988356668 257488517 699771766 190110120 391945230 124423855 587251970 602777593 460176313 811247004 465900016 253110123 975647916 845823841 807934665 857658057 927720722 437956301 957811580 743600625 385184131 316266466 521986620 768933487 452911495 769345424 648590362 415259928 699243745 541804665 736864419 854314097 851858663 531937124 454061297 299985314 286832612 225044309 563273928 114059208 432363337 110904389 637308737 393512067 367117840 168198754 427443720 858119724 526177445 474981501 682971907 739788983 812152458 249042978 577768421 995259133 233385955 851829717 870042981 880059062 475875862 251835416 572452073 347545718 524193109 603620701 167595090 391923194 973837457 978501466 271933462 369875958 208399884 707308456 599387758 769264846 878189930 507853222 437948567 614415986 517227459 722547245 573913902 890767198 918572154 471176741 244227899 467636277 662253100 878602430 876334529 841052906 659885919 868646748 335264991 839118252 429409523 948884452 185814992 867047242 644033663 962802438 667024512 127951223 137513117 574543325 558101973 746469577 845065541 138342798 986174279 305609280 542856226 162449465 123004098 478495723 137091741 275211860 494008652 138382262 264041150 720290019 826056430 220835934 454731564 850375940 697490328 280552436 253391929 429302620 983480969 974264106 739497255 445332613 728779545 606191891 695024611 455725811 921886420 676970580 463251567 478206792 703956951 549376188 475693518 222023156 682388562 761957911 557482695 460934818 736756995 536037315 137111071 832779875 593867182 746930167 674925166 175855140 776072118 557524909 717176398 818204484 992663248 730807088 266770677 950074807 860203873 788071698 836382868 929957282 207149994 431711436 548439532 201772064 681058567 979188028 268759534 485333055 773069499 414016897 501434190 928794608 565213974 641013262 520521745 906431754 335020897 185979689 767767039 440778662 167654890 722969704 574858281 100753899 820095213 287822126 848130750 608502269 644969321 270097263 515670358 451609322 706047566 167615669 111754616 876043632 461064229 249185047 962823545 157687566 608506142 443398832 421605342 366863161 311597244 678116764 688211931 908884369 435775833 235934532 309663245 924175826 650728898 389998406 202833604 391612435 899503373 947081122 312921276 974569397 149230136 817213745 390312523 333099956 982367167 465526635 914776317 520355658 366524962 875679164 806303153 482211553 914205667 900150958 285282815 361631807 363524258 742974009 923275836 758327296 148929240 627671263 418619132 651206031 518295533 932427714 755066947 709406483 444261265 295545949 413143143 186396385 235702182 915707850 388531494 618305207 346989842 999842711 415793775 529743319 668865676 394356093 140114424 150857197 306755928 558466230 576564407 624229786 679306751 412029757 958265171 513225964 746504085 479193381 880403987 368217121 647438624 170011857 419758897 147893454 379239195 406157934 707099201 255270678 936008829 710384008 306644706 501390004 916170198 302069617 731760509 587997365 662375153 364171448 692435041 331491098 215273114 259748046 860235225 715493111 569371205 337950055 865289088 115325248 909917459 610071845 567978634 158245222 331164124 496411897 505635915 680275746 630965295 525206117 144339214 206474547 467891494 124516622 542392721 974230476 161106465 252864646 529494720 979069210 760856949 268744179 578625118 971494743 971747086 349691588 326967460 872532488 277804267 559172397 192907542 651456397 712935611 584754326 493272536 126864755 217048923 960221160 156355261 610962328 209874404 352060690 844621432 777526232 609080061 609047881 791511604 664272621 665772163 834797322 218279166 609087847 433635904 224935975 418875710 753944791 758855127 377157248 884360954 463748515 896347157 647735854 783350996 492710479 752929756 766541173 844840863 295279255 723533522 925885306 888745967 702391236 491983107 404132230 394125520 713264252 569513819 512562312 294956321 636588168 550120061 293748484 803077992 383539548 651056230 584217281 210588404 938820187 504891104 861897111 201317249 442464509 288203597 839311480 524484473 112053994 404737920 182649517 961673778 253597440 758789400 483344624 343268449 675638341 543401128 627250275 755436106 543231480 154043388 326178134 738227629 423569185 435701064 764129731 334874082 670471671 785186998 612530337 688286346 617979891 435132026 756198566 488665339 458925514 969460290 345354589 486431869 320747808 997664016 359538297 448444494 544584851 738591091 388473869 885025670 710452282 425590524 645075546 157520441 894135772 115247065 561685864 672606202 416569128 711507530 240796804 976705825 956338960 475899954 787825050 289059762 561053298 832641309 469971439 345437075 327504729 568949531 974272297 802633192 516984738 111979045 452294520 495061825 923175188 203980990 130085198 621271982 781164259 426489185 936904582 739837847 324594680 914131902 253423475 845501503 391667798 901870348 985241264 439632572 331993214 232301246 626840430 859295893 394478439 157438231 874654128 365482184 207303712 556964918 509073073 787064259 529718879 826450157 474997629 256140892 984036426 231453688 876126951 716796177 625700985 311513288 209213651 788437474 119044646 166814261 895704454 682150474 344750041 246297311 542072020 306132052 895924314 389946375 573678109 614742404 796140108 548011762 177901581 533344536 911621321 474478822 294408388 755206223 864925510 915667569 116864372 195092483 338835303 542035272 828342977 474200524 191210495 803151157 998277531 507608976 425939033 421144761 497397719 478736590 918850100 583670884 260754027 905224434 221222113 759567148 975807797 176330507 240758485 468031242 866650041 281276301 951324106 289399311 788609831 869604781 201758351 492468860 549727823 446916241 399334785 374659299 217695436 899682965 478637791 913691615 765297560 736575676 612875542 665682688 861618204 403493159 984497251 672697648 815919967 455274332 436308954 505143701 701733985 845685901 243374452 681870945 767056294 927753573 781921901 491284911 149627683 153806137 251629410 476971004 719844426 230469748 172411703 479000280 556269616 969321088 754224755 950053445 978540197 400188670 410652680 357573244 365919212 475073646 413279759 669970282 657026998 615054404 550814162 500041849 837957968 235946605 413977914 633894695 784109099 318566673 907779611 703787040 844805527 676697992 843098265 309624129 654547291 265518449 582312821 403920351 363718699 479029965 104976935 879087681 980923841 211724431 617244367 718702032 858561023 790021069 868982166 553548369 946144252 791667793 249126492 637659040 422468903 308913600 293682202 503400697 348748505 592877003 756357194 510009912 835616254 681194223 795323793 818996368 230369599 235403883 968050159 429084519 959879149 393370322 142376237 613756128 249272031 879764432 739855552 932550316 420573264 246504771 126515673 534669941 214920484 514873905 645361813 252260681 667318265 475223517 801565183 900628302 829559214 932094580 961841723 720761668 477021853 829040437 167275610 819325227 180146789 809952033 549748876 185182985 933854827 367965141 165634931 108701969 463479672 400899895 645815215 228382737 539514996 344625419 486317623 425523601 226808879 929087005 587330368 477719621 474734593 361346123 686767505 577090065 679917332 761136402 885130639 251067085 191318284 531776848 901715783 453166322 896817814 502659963 667229488 524328158 209091152 914231685 259549912 325471724 259154119 408075654 490736415 712128977 937788028 246206457 388598574 135512539 544549013 359637422 446384024 443116872 344051430 879910164 639655855 423103034 588465506 983785263 805251041 838817855 712861700 483577053 508912986 999736404 251695807 449036024 878453355 227457035 731486994 985743411 475232518 339353832 323147515 405934248 667408442 529337566 766976722 818536753 516950126 726206719 821762182 109353969 445067176 555918401 236768752 205663196 796249146 727444326 956805329 742860719 656342420 980574731 658460000 562740885 142821320 224595649 935499160 584743043 205892126 197613581 723954508 782497434 283771473 478988175 500077772 939362677 294044596 875477826 503587382 165445702 218350940 480065670 866226382 860879833 606253429 436357620 819158765 645725378 795125039 712766395 239180816 254375340 326863175 301370620 227431417 636991967 254149334 972820501 964655408 660370056 997366588 328192499 909832060 614391093 814323357 781675013 352183044 920250983 280650150 424767782 370929281 797035143 333140665 391445357 472182204 283769293 640085944 188169082 473724767 749298358 561266410 322417005 855050381 830952199 650830081 395994335 932936963 770828998 923899476 539265689 430818327 837750106 834809453 151653459 403875580 727997924 937245566 469039197 684870493 136749565 987001815 243230622 632476362 636317144 650326981 741179409 473093499 365797319 760163355 140381358 212059596 208564206 145591550 993461146 423710166 431428640 259352736 327787371 374497782 918380203 349011055 538851717 678078649 205934529 216060778 935682940 584518666 524677792 611049641 553491913 177477565 910672906 736310929 129489384 724639415 409902486 628220333 408066221 194533000 721258845 968578748 399022966 542490010 129612541 210701993 982659605 928018832 244738336 714512389 644791551 443715167 773393975 941773811 818291112 112246907 893811446 141122233 505919181 940672637 242784723 934988577 276288254 481656364 690833032 913913494 120512514 485805624 118583761 443183750 257822080 897603808 529688752 565870317 846652730 673595948 102317480 923494316 310397699 158736903 127548282 841491780 753731664 509231010 486153800 827913958 755092260 111713726 104631483 143176534 553005169 726510818 219968345 504873006 902720988 563824366 328295887 258424840 316861537 691388945 394274791 318376768 963907447 821410191 571602884 687213157 889481890 122565475 893773284 463039652 855641872 731377789 475697749 898508656 727200751 511179840 400648973 955247455 735159765 390989400 963128996 988836778 889339995 116055822 241255825 890095824 914911175 426810973 137140853 358151468 928770345 884072205 681108039 383773221 957221985 607074468 594759260 416299551 261111444 711779976 368947283 177517647 399142184 532027031 818819092 222940672 581949227 165930716 405992237 404209156 323081937 655854978 664042848 187034186 122105434 104882235 155610038 441776307 192630055 599503969 692225647 846075868 459507177 508031749 488067551 379292731 979227444 104529964 682096185 635426345 132424449 992239789 970120470 943248776 810978527 536947837 434416054 875646474 233365391 315971116 304612484 342249342 561485992 829195719 990144451 771037967 754208619 946052957 131421899 742243509 441668026 144223668 685262528 332323045 475137553 631491821 684835093 931917479 135849669 135319653 977659738 349091245 402602923 688198299 734885397 581716029 417823587 930105438 378916099 984712910 128021277 307484432 645819755 805269690 382789773 440654891 230113397 893824321 604504352 179363110 650560016 497732858 607706780 357637353 953982006 526686572 553760363 448375263 241226328 531659296 423437089 525755218 478602364 871686835 978374990 724517217 679793751 818247836 551330453 944106010 753699819 143378666 575644647 668950215 811473741 489626447 889152353 152916126 212112517 489516576 263470836 640910290 723152452 533136492 606589651 824952321 767679073 416838377 347860399 810474422 521135590 589271835 688144325 446830348 569973214 856102155 752211858 640655519 824212687 718344852 374685022 760622062 823333329 589736688 107654110 629809068 457236525 777757717 498351642 207165908 994122290 240082473 888617847 131873905 822346946 272733083 800963937 103830836 231185927 813263826 792933383 389289077 687469334 189808635 706147410 814805855 642706010 164417230 421110399 188554715 623196419 982040744 963190710 509490294 304859861 339537357 586245769 566865781 365766638 800716608 284576395 139238443 456805329 637178557 548096188 130463104 849868656 776823865 238338470 421222539 103745812 981827735 488766772 607748449 413467234 761126941 125551591 634254324 735819773 796055761 278785188 390819097 198653462 158995070 887006377 265683663 589961804 149312898 970715553 783041963 388698029 813022546 156877753 666963845 200076071 650748827 798729549 781930030 423485145 822013554 739692722 859180749 461898345 267752888 660392726 572955944 860570724 960019712 682661230 775383044 735755760 113534666 808461810 973480567 671491987 387699553 444058974 430933435 549699821 680103044 875769895 572008646 460675520 361429685 849185266 645094770 827801197 221514273 228044569 745818757 879793942 440977734 106988713 364514807 180746709 647491164 752188843 882021386 333558575 661675988 457505833 350029430 892212086 658650007 732806377 377305116 828841742 205987146 505174829 709367859 107827702 260230027 445158965 162436191 758809591 450439038 857671042 372812869 697074087 947800997 620613264 880219603 712840332 475624010 126052525 289239947 619728334 508233394 527989733 358635910 651005047 144610352 599726480 384677477 349677761 778952755 937740818 138606553 444931437 362697071 266396890 405434901 649837959 429242829 619326526 951604918 881033973 573083415 810186049 842420160 512254437 376450362 317281550 723421312 662533030 171492953 327966104 178519408 562417863 889266185 374050616 349941847 643054820 994495188 989960282 203863571 590010252 193158740 885940877 561394374 601015442 164238581 666574787 838699523 785008697 563462351 746272982 869436441 149374919 302805643 989351856 303829290 668384272 412532466 957351706 268925665 470737785 754181440 776124410 885601364 578614188 607225047 732109655 226354125 295891873 371614321 436256797 227630259 732570708 573056279 596836920 750515426 320623055 835480014 403627385 903782936 966717192 590931964 730177465 175672783 859592446 261850160 499619253 601288131 569288041 577682353 266904089 296323685 180584186 997000660 453893838 699573809 386651930 966429236 709385123 554414305 930209309 930619143 283134551 685477709 237642916 920184088 997718580 519856471 670080601 130257865 846373907 366508947 548628323 647508344 386829028 584749110 608510072 891807841 450824560 167240573 398529860 947354710 491739894 433490316 726962510 360169644 247085545 868510177 952718296 310500984 577511838 696916757 523546546 133725515 152188760 508058536 844175175 108580312 744446122 987879204 216269219 316326325 163516930 831253608 535276466 626314739 124069002 472688853 794055213 131346766 108248751 349434591 575020754 374657358 286805942 910345978 871131545 669364422 395936020 566759664 829104074 795891994 870848894 369938337 984452668 966163417 900371873 280664705 835592605 160257886 939981159 426533370 304638446 497034833 863014737 297556115 466171983 664100123 731724919 305806602 812320608 492892834 196654011 562143685 882988005 369070176 983263334 186548516 949052409 532403023 439973765 912611243 917842638 968693642 631580828 126287047 978753258 453680326 826098569 221725587 690358952 986052200 404322034 585884976 971220732 653737751 749780655 585582779 452764887 261976108 981357974 574767623 811484614 869076879 376332123 709722136 185319867 675710441 948442216 133172821 157049697 758882029 225808554 709317378 317923300 135408951 679785320 467542102 556418519 157034308 950411652 585895710 738072887 911118767 329089220 869296019 719918782 504602241 340994942 754754448 410644857 274530609 115093882 751208803 894731058 737333339 469649539 338275344 974391987 723029779 254112997 525900051 230413608 535397351 286500844 190199772 466421789 849900283 284424139 759699698 153769635 230584795 592065067 361957423 668144119 112228091 727679271 413584037 655000318 843187788 478437687 241653572 301188211 735570043 772911575 412835822 873343811 335325401 356024053 516575729 984309050 401730103 127101928 787538638 728711691 178131551 694717466 364356395 716735583 529106274 890394659 414191096 229309234 755944268 294809903 530963670 571240461 134023638 201495027 669960786 646041809 239893425 859347708 761552656 851691653 393729921 907363828 802044953 502200579 891156107 872956924 759016707 546037675 411258008 686540342 600618124 641832709 373948725 486669183 340433835 342107743 135683066 185313816 117900292 346899988 854448938 266045886 239281875 673853719 628594891 742050677 228759934 741772293 385919372 235935518 598649255 371828264 355692861 270254882 953675253 666993366 681694516 790052984 551895040 155734095 764709977 684065413 227024813 749031776 781829006 589277115 983225467 289801772 996098919 521464859 511804413 880573094 494821164 343642818 995141666 612697527 286107217 691343521 813993966 904793424 324184280 584225709 320037534 377289440 390400373 439704696 776138876 493733000 228284081 169342204 185703993 121812479 191135461 901533959 780261871 324525327 323564304 403022902 820344829 880041629 457286167 907816913 141571103 900461391 920388854 640827341 274252686 139525878 320118198 565292429 827386980 815385309 812314631 922597682 943434747 750055357 207150422 357225701 598577881 887122408 464408009 584666246 197616873 339507884 201283486 212457111 533916501 626006277 722422628 636902352 155807607 753153023 947375198 361064908 372253624 841553163 835791324 736211693 588012801 350065031 714031851 150962588 732516785 418947001 896201340 592971633 723611558 242255477 528787248 361022321 567442060 562192824 550802224 941666285 129015792 280484433 817446958 565064876 498127026 943676633 441139046 764111208 396109613 277842620 196668549 618883049 642718383 647362724 549745718 545423405 145356062 422957930 948776969 478052850 165896925 446147645 377196144 677071106 946107799 811580242 238400112 199384088 306465683 748928006 165152924 814645381 450598887 458158583 496569914 681347446 302060793 494898429 608513739 613605782 928130911 593279194 627468070 498375139 873029127 702629541 239244349 526681078 632605713 237527630 582112627 714917919 967238877 210721486 129482675 836521574 607903848 807388427 450611753 547307645 265573263 379332301 178050951 243670952 582956611 769635237 325965940 149736293 664999149 829511354 266365320 772285654 389028273 160765849 715759584 319842353 496742796 217699378 163227931 454325439 362879058 195622745 422049787 645914135 754479387 190083583 875060077 115117930 274982206 486337403 232664709 312578958 320014905 346311584 704007057 814453323 626783722 731937818 282480101 226146328 616045155 334521666 970139611 994030119 218526879 221368193 391831700 882986716 336894900 287589526 526433523 722870591 399754948 516872350 806605700 798820477 614884072 171972007 853818849 291366178 547174517 178287595 135797497 796963460 878561512 612074725 764586342 512432019 573040759 166583749 177054549 485946433 182584879 505670766 963781024 927393829 348217371 716564579 176447535 305050768 930984473 531801798 771357532 589136255 647389211 276078444 255093821 750424369 592894690 577702905 492289195 111772896 930471867 694245012 464002997 422768508 558202816 355369712 948663220 745293667 567192431 576525083 663114477 987771807 414301590 946741997 245838613 790993665 422448734 720261845 453545458 850524107 594516347 160698655 676983217 573921345 812165609 467825714 120336984 913708444 433183837 171582884 197777352 250697828 928559879 613122770 845316904 886722621 612124029 219420558 659354659 338522514 135292942 688461455 847384655 370860935 627445736 826003657 413315482 199624998 823680045 871888655 314098548 740943532 411860216 686699353 526306386 683279134 566822006 761349807 370602470 551124091 771534084 216738016 158512737 974288493 434910446 678891973 447117670 472166041 549393473 156885232 932389457 326142689 790863738 781731827 735128376 164988043 711373324 128597411 125873465 994282119 844526165 947569846 798269692 593185105 133918804 489453497 440740748 789234269 165981223 347671280 763148564 901735109 365172229 129515826 118379683 824770082 244896550 447807801 630315986 218853828 921053540 701753548 152019509 385804157 924547311 972091663 263849338 730439416 855439589 257172612 843447276 371029008 500289552 132278877 721418390 798619154 593047400 556130380 572080928 507243467 928129846 363441898 506378191 721234189 779341961 332138318 132496440 637084847 856746855 866909456 865857279 771201108 225436433 653463707 613203564 287262455 662514587 107653906 174420365 143508540 151230893 703302478 417990416 211369179 195247014 146920354 880201175 343926514 786726971 301226103 546147500 620726998 426711767 929215727 815909671 284649261 335490748 722650982 756695630 330116062 160453205 937170099 848998921 861981726 401665523 449625901 465436541 159661755 383283135 573622717 223551388 365565614 188436414 452325395 125230889 138657668 514224957 671635298 204944517 292631227 641330883 565388681 946685443 712786116 626363727 455819612 454698153 670174457 858307074 641194045 756983153 886197087 345282459 876871236 728910009 878049313 686123897 645832388 865594115 896200123 658648737 166102757 301415105 263055415 366419237 785406247 534008082 814721818 435006242 901500523 536652056 280304338 398929369 573208639 832221613 526789225 105030834 143088844 571630561 514958052 394814133 761562219 589679455 761640441 232875292 988260842 690097290 459959791 344737480 206233735 364024549 788461802 903077531 455368705 664218365 165675663 759442891 380547564 920552665 204858781 470681419 534255546 724367110 436807157 294574980 790956730 995525884 763586589 337497331 826948204 433482972 424169037 270746253 376126882 730659867 701547891 711124137 794938476 568009883 670347462 140612078 865873083 173693960 386891171 142178812 749259722 444893754 225156664 662368336 248677252 433517004 572455459 350656766 740274373 925442094 617172918 859030902 720429211 277436767 404866680 983376226 613027171 841483369 198068710 795647536 505248468 693900811 536820788 631594130 398797389 981241188 934258072 388448182 441465285 927184975 341737127 567479287 168792575 151168261 184707648 522929736 553687514 167643991 368046485 151415584 275904832 110211931 231537761 455722683 948898337 898359864 707715863 228000698 297751715 960891330 408503308 346035832 784476842 150205830 664367932 384909907 200410152 183188285 921519961 698217021 570047528 892383545 548401472 101442557 744130044 915413461 940074602 842065006 867927178 877545148 985950674 701110390 166260300 546439109 476848127 512182900 324029366 253110338 535285650 404916463 718681645 659692472 641522615 353779244 516226210 650435103 213193425 977973661 314883369 686466627 757983948 992246065 767430532 691449509 524814829 339423431 847554685 842315031 548145210 345350182 479420685 929337260 209891367 334384677 223941148 269861194 895884919 634494372 687907193 869531142 187783897 184068407 270497629 617598414 841675493 583124324 363587597 824073203 474205394 992352444 293346375 400297033 562528034 347792012 383948144 751804429 304080253 238371060 407289879 143974216 400826627 623663705 275278481 555131050 671633736 621779268 164777231 702285463 710073966 379822216 846094926 823538383 440175624 551653592 596049111 493834400 205404472 719421977 475260817 638890137 840314571 891288215 257833712 850990738 235035109 730050147 530711446 287495501 707542670 927339813 117588252 300397280 417349731 469696603 119445980 548759632 891123519 998187965 681981190 938913425 825428584 119704247 790868865 893433071 788998568 836291374 393101632 185363287 850953717 284515971 477366101 573896667 491674867 999418538 854970937 368560411 299632920 748999723 200855608 612953582 408815628 736149301 806809450 765503774 975884374 371742999 165207143 974246565 922304391 554657252 584776295 684986891 963458673 957151189 214468398 299760630 687785811 167166180 519657150 875268567 216347426 546048565 980999754 694175532 187311606 904404517 655556071 611511675 933759170 906408379 868629612 415117410 400238638 950086573 373497818 159813099 528352152 785089860 182534300 235921873 339099470 879661894 146560479 818675194 565910726 948849668 133057209 121262334 469444024 642038693 154581262 183667455 618129321 828165714 636062300 383503043 280630408 581541609 378775391 178590239 508270136 703453506 869655196 272950573 833220279 908297826 916853546 924124838 481265682 771550776 660875706 871343091 720664627 731876856 364113903 539366063 381485612 779623074 427514397 679679800 549478992 293974134 902197287 915645016 733417196 747188792 810097788 886606370 237034687 591934240 122430025 708437309 841319920 143912185 940627648 263691619 385521260 390687698 140236404 174975498 897721439 356106976 224538587 941614168 357949717 816753931 123516147 882503949 567125267 792421787 306931126 892936229 145718832 546910357 752464592 645539482 816756714 157997656 897553792 167397569 857122271 229615135 116998594 671932113 385387455 212312531 822836940 445141221 863990892 473671633 120795486 536985463 207709039 996664801 330793394 170426614 745187157 123992639 847010164 610520249 472774253 961958301 906008723 448672927 760582961 251740986 591054280 899379109 777215310 152095730 624986818 735683854 739669336 639823342 437634332 174125506 647406694 177949358 508525240 807278720 441204992 561266483 830825602 291004822 834541404 448905398 331376947 592115900 751474107 241346659 612799362 924917119 990715346 250309891 691948345 765594608 872088955 352397809 951740296 348784017 844737348 598511454 325819580 414363972 298269795 456085572 705899787 789698181 809919515 364073172 670297836 341030551 398536093 318711182 196129030 482399849 675317182 465412722 688449332 243030522 839103474 827772592 477851090 140198213 158183735 281279977 942444481 119333848 824707038 771534784 146256538 455142230 595009580 107083305 581224255 648662669 922363009 614187748 557949465 488478413 586883756 182550979 115644690 650251870 890709408 410590918 563492024 521903605 901738472 247004501 714386819 173533724 323501282 826787491 530267651 404815356 178784552 429051043 966192843 204145788 907923846 366894404 980633285 943308622 491378992 670841151 249136488 310933706 436889351 301322615 940128759 136774385 844000410 750727342 333450350 314359192 686495347 682129862 802861042 752438188 948360485 725182709 547405031 863809882 897693454 326897186 172554348 494127047 975883051 242845657 822724923 637117233 281976468 130188476 732349535 869741936 833679247 396340498 372941551 944020223 407509240 842896896 382915530 993898237 366964742 728363381 867443781 723574208 650364469 408483822 215906643 899566190 202518113 452999977 197587133 388194143 260145568 574128095 515454734 470880568 379896234 896797624 559538548 214801205 289788441 108584924 707756824 964904420 861466251 842213694 651198906 638516526 636313393 394318252 564321931 531251534 516296223 107056093 873976242 827184533 719234680 291203163 687800578 934105958 111603364 715051291 324408353 615431810 644234919 448379386 128267881 460317853 679404855 661630887 601386774 977092322 450506691 836539337 811444347 633174488 868341874 536684241 380077420 220319757 945708453 868136168 674596305 775767726 492835131 813428294 155935694 814153956 765098417 903695310 352386658 648472837 625319870 502416549 711857359 658358738 599171874 843380864 345126736 843608359 496001934 804032051 285030759 166615859 915628837 819675126 971565158 623486378 397779121 970374729 979642291 880219635 306701189 895560602 861772356 730200164 228250329 790383872 158131318 434218795 708999658 832156317 333443544 535218275 475795918 892007117 962261466 187257995 710232244 315503903 409833786 288009954 402453988 877733879 895823896 579406369 941583568 650691221 329681530 238958837 284987078 548323878 711476115 522668338 669281060 579215306 425841073 502569499 351738436 141385132 337639435 572739208 351087171 519930302 186271458 940108884 855516826 501826441 880647705 311737367 675372168 861064302 402719141 980214065 623538827 258188834 313732645 873897595 726929681 372761999 715315176 746693381 566731144 601445405 214304997 687682518 258928763 963519340 356889505 591572147 504492583 724527987 957231804 137669650 879209413 142190089 322277453 410873557 948213946 760179131 680257466 524354321 284749911 356547708 331596305 400697873 680572873 686357356 858406706 770825099 503864729 412067623 636995163 176134995 225853002 677981010 412657269 525126131 726780237 860375479 254885121 842770615 820396643 563868519 289049148 534759581 515967262 250224574 915261115 888964813 936267051 838046218 721917959 139432700 631466659 966180779 345423492 927222612 385636863 459566915 251500528 976211256 423096118 333084781 426961285 510318965 750314876 122484800 281582780 334841921 831763321 678464339 188771147 564270275 156794673 206268368 232089925 847589865 560259693 858185634 448508335 782366383 842008172 687371751 971884796 398704216 333350825 529828666 160138956 770403991 820605899 650486146 602454048 353726640 917531189 156745135 517041795 591165637 171960551 229669631 777820141 569273773 524887647 266685939 505359780 372018557 190632676 483497278 862802254 291816909 944850812 126534100 916393717 760109074 501097571 647726130 699749227 272141659 991747742 649986456 775076822 491582384 277495247 692601800 146753722 348778088 619999593 885502375 398903787 182010891 915843620 817533096 808346162 356499217 867435989 130733379 221001464 743465197 378321223 511340996 650948660 739023547 167024390 846408988 457955610 582339517 634750065 200616042 606389241 983381825 680353204 504912251 199950112 712403993 399506912 991782481 270871862 351253564 254484602 520342966 945674205 758251680 317233650 175821757 696045822 448971892 666030129 240479715 209521545 398162439 774762563 973037210 117231567 115531321 895751759 167264772 470465288 727509451 922384770 316758871 498714109 251269287 669877258 673602091 521621094 443205336 522577999 563706697 780795989 147528278 581009875 451350487 334583579 542712097 859399112 332545041 864185562 981855063 886138905 131381453 308261436 107610822 343989230 233830985 615032150 273546593 226029977 355350844 537619883 516586036 727731313 730972352 723751262 800907437 419632270 416349099 163658248 210724399 248524894 960175336 625344139 205618581 272875710 669656234 331734058 552474439 965377942 441974899 786159401 669436146 292204215 188702735 234731624 248318147 673507849 821755671 441915714 149262267 658885339 156927153 118674241 829350002 949347902 217743879 405784187 274557106 962661275 788827254 119779005 200103352 786242225 888687064 862039202 329565765 470884994 731692309 834946035 307502342 514803913 774045054 807192042 631263131 309619418 251950688 515815535 138809651 698134499 477067897 247736658 773162503 909591437 286590509 464190769 327879724 951832298 386223566 402947827 416797827 886811728 571974058 513057319 200075509 557044150 279838194 545544664 398846690 739246063 679628268 625952245 379051235 252776175 275984565 246789756 514171536 424144778 982798924 409904136 937255132 461256922 858164590 431771960 702135171 202044559 513797037 482762254 820144596 531365951 800084350 190109743 461365984 430755009 318171915 148671516 873163448 931556841 254193326 984953428 280118230 266295587 454848222 786456832 283919578 549701809 321006511 896383015 425354898 815169512 335496485 281466237 140872465 311505494 780226322 776438572 370487123 279636784 319368208 950526444 197761516 132652577 913502957 779787663 743380974 123595942 455518363 496795506 572670563 654841203 142013139 417951151 647600130 175833290 618038082 433751418 686739219 170629932 514132863 600920304 716463115 297012922 502659666 168504907 132778761 305102822 490866016 899060468 235253423 806664932 340925906 330970474 575627270 386167396 401911151 552702708 562599206 459137441 451959588 368231985 293851422 749957762 485004598 960694678 299125926 351905305 271148692 146390698 800461895 222651154 255255060 368854366 724782129 463454418 487582313 933488759 945339193 830874239 934007895 627471729 614015845 531908426 863524344 703473215 823439749 603340858 270435475 515549916 208083359 747933137 217881770 271691214 748640801 588034357 131234605 919582023 780455450 902843666 385270295 543622988 190927779 337051612 535619706 609544703 615069753 719318632 354710949 690474633 606291905 809044588 709989169 923067241 891053494 996174029 110828405 565257057 933248391 531283690 600195512 522965954 146592501 228404997 664862496 149511949 875736638 922099340 494240851 389601153 990335112 582120025 296983232 452153212 790171923 638844111 859801744 159167665 330451364 880015837 824086767 853760692 807855807 827139870 196799633 612214462 179975460 956437756 916717796 109154275 994789886 586752396 701311772 111338653 602261733 733545193 487781863 284541073 242870298 146258128 744492149 522662333 382778207 657866745 396696973 206530007 978107442 211446358 841840749 750692898 316026260 693510538 644606611 438643003 515625658 386079244 619522538 711681805 481445708 399148547 921148686 945340256 565693636 501911947 784716899 938949335 655506620 412924857 893627546 635505129 594496177 139619254 665367932 953488125 626104594 395747133 216137956 896504122 528029071 955697784 329492305 142448450 992648703 583576875 687361905 596073575 688555328 903502746 614213536 529028429 195793409 123659630 826255473 449252998 511239098 394355970 488098655 968208071 344834525 123456428 354989049 850447184 556716986 108416563 200804114 561333638 722497825 369142474 630584183 334841572 440202822 154986671 107774682 733463659 676227791 666761939 354954317 923132952 141256463 224185435 507379544 286031773 249715863 676111912 646047696 242615787 216347445 741585795 799662235 974873523 683879024 538959312 917906208 446666505 168772163 358230160 518682981 405969381 944635792 212973705 287440459 215573187 138943811 952119621 215809821 184723357 644197618 907707444 903828384 142677858 490724674 862523714 123250708 231143611 649222555 584394984 781162737 975859427 398650833 197150738 491760976 582139820 683790959 897906031 612724084 363690867 393722103 583403838 745659109 642904575 534767630 175352668 515883376 459676081 958910692 848098252 774430495 240646536 241997202 470139446 912976106 691682111 414054390 333529205 920719400 988906859 837736885 758702919 827475329 759544045 119281507 575918808 359030574 488085874 516016129 634698116 746493946 176965285 873198749 122965331 675494238 350407650 400157474 900873817 654233995 502039549 204953662 677087304 620873925 772472239 202245412 246677066 980280302 638867734 214470155 758085257 360600420 748351148 118018253 871063417 133751288 691349485 933170883 157873377 881112977 583561059 202112411 677811408 752510443 800048337 484631388 546967274 205507212 339347451 642806504 762484025 281313060 391403271 760540594 457519279 663453855 777229697 162488881 137263955 220212898 826172104 606205873 271809135 247630143 782939616 950974352 991948294 530836754 181261841 626204750 813717615 643314784 722174391 964183837 351601921 303669139 782377056 770761644 812380011 692858254 170120889 531312548 881205815 910486073 358295437 708823264 732559813 820560638 144009582 190934158 854639189 578130418 641389465 691804085 888467467 919858404 863401792 957003514 950021184 123814636 273181732 852702420 446555148 238112918 360688729 460718322 419019293 193025671 345965975 810864325 580077698 251939786 485756324 446039661 118094897 840423109 620829385 698047293 362299715 209836038 708366001 598813521 785292927 571687259 462015753 154306112 882150366 808023952 900188900 810600030 290081426 801412431 620509995 888495783 165266043 747031253 128283719 515787848 321019296 196377303 937051917 811103815 695545267 887775365 671103740 790136329 115673627 735148833 518139000 607563362 206859693 168943845 372844468 249018146 174357579 734601200 943337638 753579102 284713276 316083488 575235028 335461232 690172418 679688310 225509102 555965353 526536873 663102842 784326315 840891133 579741848 916767393 973684180 274929202 716656167 459661436 708347157 378896349 570107108 427130258 294043667 269844130 786008455 974591523 200919339 220415027 247127523 877094447 906845491 166555066 671880742 142980475 188718903 445212903 857132136 445187995 577381704 999251014 564045384 346380446 998524858 106793159 287147541 811012263 505057060 467540889 373145430 946763365 302168402 518579948 315275995 796600522 941374810 786096301 617699286 720661469 235942397 859119500 653140216 640450790 922186657 975017034 235075811 442217609 440425916 749784348 337466230 342822164 798942949 450752283 961512538 707993829 186191085 492532245 754315764 337337020 469614352 172290658 285425067 689248686 514302959 196223543 514357213 273820918 134111200 576195604 760688673 112795362 769944171 272282174 580385005 755178462 296681487 879526857 883070831 657620688 144734247 209652531 629199231 975208846 319201750 196623051 639624664 182382419 129104777 433575924 853961123 580699867 813671306 224126308 181417775 733402889 642960469 142537012 777546320 872284579 463496812 155938551 618847492 149279935 846658671 952995367 823444727 959512605 487921748 107314762 398646657 649538859 134862248 941490917 526873530 482386761 953782170 857643737 767867270 780707469 891847477 792959705 115851660 754307815 730491358 378434823 941361600 528095033 801571895 996477852 786688486 597213763 692307816 466774519 360993768 992745963 710543272 431817505 928250166 891704021 864193480 927032882 213500523 480630803 361132426 335183795 623684574 307508157 470471123 199284158 532419418 291379609 720059130 731851979 914691730 606389551 377805025 128939986 372381128 236243966 377253461 294936005 748579225 764391650 731304161 773637239 517892967 885933604 901317425 919532206 826572080 504592001 332999248 139545830 819638302 597873662 136727674 608322307 879742035 597409214 783257995 700554066 753845981 356301489 144051369 220327702 533343098 135606723 198235697 172338566 503691293 291748499 392177500 638887421 657202014 947818235 368260970 923770061 309678997 185407908 508741481 452437410 869884521 583505513 533678108 561662258 573652894 446644123 366977235 699535130 278084890 398948017 357417774 584601104 744100870 818368601 170130082 528413544 193347175 546673997 562054135 256366751 733627340 416712568 584445416 719832358 950958665 834596803 278546012 447589301 141850925 457919560 295871757 947547564 428977300 690306045 420461929 386002939 468204229 519399742 843161827 119952642 659991835 873570030 282970945 454610572 960273974 906197939 625994890 705839590 557304729 780519058 590259286 939807895 219466525 456343217 708617137 175534130 699244764 861321850 897965578 935783614 158583754 507186314 380205459 907172195 247977575 548338023 209074744 880556689 329363586 452661049 561706758 542607971 290712373 914879968 728236981 144606285 985278039 139366301 469914356 954533046 709797248 148569279 895054595 482067797 839905604 994973201 187590383 793948897 332238311 670168118 794560182 573504935 806151204 524133636 917400311 621790147 797465377 739176430 298947678 819455262 755519656 830049094 733112609 814742545 905568876 940421410 139660329 247141651 587731374 320926187 170628197 208719339 129121521 688900999 843639378 497700859 492669756 136702237 558773903 721292337 739818768 335939331 711980422 816265297 445625419 601233038 264943671 142054231 699402010 842210785 447260032 268256869 118929839 422605708 255028247 237967456 266447991 105319024 875959312 275789963 917016633 539512738 271954349 941541726 284511686 978394494 624574908 856876502 592667927 534239545 553507963 857106584 597525539 264796578 157206528 228057415 456910822 651720741 600374891 427408726 629846439 366316947 683843314 777868103 565190378 722054735 676236529 371606665 279984636 736320713 733941372 174184539 982191282 878160318 521538357 594763234 499709739 307534194 977172561 522052674 683497326 557101994 439030598 717659268 567378390 423684742 488492369 942081322 978985045 389909609 213670777 240225706 247436495 647555409 967746512 461286554 624027337 989707806 631699208 445055453 327265844 474533013 543493373 901017542 767526612 188868235 920290261 245850839 306373116 183601309 152378289 356606335 950347487 467375041 325716680 805874335 950202024 464950654 581374776 914035129 111654587 963128255 576620765 482733122 687519742 746717204 730856474 893758010 253334877 592003763 620160866 552161289 704146445 487331556 827145914 212714005 817653488 532062465 938413545 963666687 462001421 521021057 780942547 641725529 831953658 214276980 224214343 714687983 112058932 851562538 376660652 239027189 692926079 584360906 624321243 218315515 851099247 559088470 259277328 684037467 491851935 940928416 738368097 759375294 309865517 631676204 669828013 196479557 193811911 113554721 568672171 751114938 151714864 587948312 683905615 249362010 369456064 575793984 254263447 908524801 229163592 559219651 546885189 617210472 605068405 956498782 525376446 360393200 834642303 489864673 152398391 778475972 729566590 750034193 271116538 274143834 912176210 458611109 742376748 858832881 258171045 758883743 777299092 460499277 451502810 888073941 206264795 865358586 528867600 831910963 243995034 432512141 438375779 427560992 129927081 331635602 243121105 744039073 438955471 751837300 746944260 108106477 236470687 688090327 457638226 380341498 291344160 909245517 439415512 478957535 145402159 482237583 524319840 632044894 184050839 236618646 748276311 825063094 155000970 954237683 874747236 979181702 222548597 950940066 766190919 917706800 150100310 504922892 892938961 475680953 862861485 394936313 406363306 586099286 700467536 988343448 986097134 845959221 816429237 994997252 360382805 235616814 658309828 106700591 528767120 327307251 700672941 514648943 732209842 645579773 185450559 906766002 582951696 931401454 391032015 499115078 852168499 659914451 487070376 124033774 672635477 289281624 353081587 379281514 813492991 572336881 144485769 932318505 460117099 924308237 280088228 696296022 518672146 632831652 434695435 270480176 302765602 157674902 214085860 520976234 600448529 628960723 893211979 344278521 550363551 676439602 263609177 302792298 916604700 384853350 436858346 674811155 957922706 298774478 637253801 174126871 392211485 785514525 143524383 259362142 921429994 395490981 453273246 958950845 598178931 563122644 825100723 403750606 499243839 668835714 635265226 109860221 418849361 231719900 578385916 160007880 763451584 228164554 687683942 559499213 970065237 466954350 645877535 752855266 704150129 240704532 593982694 526382962 935189711 281654165 540453896 521078552 560653048 423421758 406830243 585637141 265219405 454402222 699849789 842522614 478902641 518283440 689461334 418901021 720683144 682327130 927865259 847468863 527026646 193591726 354719446 389788120 571718805 220383621 847877073 986796050 389873953 562425112 931803643 928262252 847695114 354754264 271434685 144229421 706244669 949453053 254904994 563577761 911528801 441900778 311340488 907559332 284918567 132282689 306920438 537899733 980719319 791963514 297328522 974738550 627320429 354377957 217390208 691772322 908224780 137808259 492596468 754927958 737316602 467108772 185874776 807485776 171389569 460854192 530269490 910231069 109028820 687877725 413294811 737842334 323922083 754716557 420433535 700920428 846039837 278855251 599907486 241816699 309720934 991939445 574601504 594988160 497594295 189778173 912745045 860979756 484363256 278959759 656343088 222953710 175340611 259304619 754778209 222746987 480039638 257465824 279727199 387786082 719084566 473435223 397111253 614214147 321056818 494076531 740092966 575915699 459077045 650258004 482520593 303823385 295955534 108395322 573617486 138239011 491310902 511920209 579386606 547266869 691308948 958623645 641930360 316705132 462662643 276752465 196009422 780007204 255265570 219473875 491557527 433337018 510604184 372638134 980334404 317319305 929329183 290316792 914480015 679392473 276452056 160783390 807380049 254249907 548914142 745462842 623768154 889697259 344611683 613298277 965508736 434715358 488021532 974361543 414867687 619974640 876340322 520869457 405794688 513210725 121033332 402206519 966777160 570616430 280116101 105388620 681830765 139713216 775445523 385073064 632746728 839165015 855361119 438199675 317639896 654478313 613657757 390987687 878612533 168689922 809953032 911287475 682130694 912064775 116814782 227074752 573828634 508553797 689242974 481153840 878148934 808268014 362796633 890707945 105054954 485618968 662003823 726036663 489606522 281303943 844465723 327796527 595786223 520197496 928701101 628485485 522835543 216354670 864558656 588799675 930364014 481486682 525572721 649517155 862664160 915102119 944036347 535906384 496556859 757304496 742714110 925759318 914163179 858634704 543759475 615513750 524648686 915490596 970543345 415149638 539514534 685296785 268921441 533883859 438090876 311683997 579745554 410532252 273304363 837300577 403024232 341780426 681092130 380831301 612317730 674959370 958033140 269553206 698522233 681690281 584345031 434662079 399981686 355368829 302018961 203988643 540318863 611163193 826730105 690795914 640236230 998177215 334824286 483099236 386832050 814942117 123218932 645624839 795317801 441589321 202383740 548818435 674822454 178651904 698574333 119489655 374132643 693558968 450120872 949673464 419210658 279213803 508666993 137624575 492831317 221686977 960302180 282355581 623824627 717702182 311491533 103450820 324830834 383717862 778010490 944161131 768806352 571421513 396297831 229273014 313302596 368835034 477569487 700450152 897275718 796202694 261231149 577683549 719602131 809715395 116621419 215003519 689389549 489644771 614668777 223485639 720759806 681663200 798712409 652862361 241765402 681834877 900208405 283115726 710114148 128725309 105493216 265824581 395463111 408508394 697243979 321824837 266480035 649685734 929095659 456331308 615744912 864481477 386813562 811955432 559030655 723000183 473579760 366681800 855970867 199029520 365423086 713801807 312397083 352038885 725698888 583540461 262675477 265737584 975306842 796527027 134266424 754643371 802327525 466224938 774439932 689599420 569551080 442429066 439376401 772229707 580235906 149679834 586255126 424033701 571102908 447301194 817498920 101387815 785986653 124811201 818793134 912867197 911671247 994305160 891332140 170980939 185109358 316718541 181004410 452516835 343613083 819207009 459565623 317295712 181134903 885785535 241452802 303446846 573482476 934157107 367529923 718175532 302948189 109995333 873443943 936838336 209287349 334997237 294237448 852360784 656061998 937099617 197190989 483831835 533045828 805773316 320435984 445218507 964274945 430836716 739138533 437547467 186459047 832140300 373337433 509823911 610787959 982773669 350938864 902784483 674279755 561497825 625740439 500761846 749378691 273733269 535088505 755626474 582333838 616815209 885022215 553877924 436127892 337675162 462690733 847434051 828669671 571383824 590572927 364004474 743756270 840341825 664046207 641341094 901176913 496515631 874031615 873664614 908062300 261582915 204280364 640927328 240284393 428584482 126132590 526503128 756730552 582034274 481371527 804288102 275610072 122761341 447029814 320895661 306854006 931289400 239328939 905174972 844482932 708917545 686678392 470689501 692331059 811004770 549387057 584960338 426866849 260916593 103193997 534061533 666770116 514409210 876878935 565031087 519124723 829017487 532394757 121132684 457811220 880983521 355101892 982868568 407895812 730607878 910341965 849056792 648666414 814149084 541730116 917945406 832820137 157009983 476021309 235596132 817843320 191591434 838277334 770690199 884689051 598833595 840405680 985053341 514111047 108822592 561827070 914331495 185815261 192807679 563323855 105244008 709961667 744852973 574679972 850630367 644245891 824573299 301291816 131987702 694003698 622818363 871972000 901999714 852572835 903179029 818473239 600051601 269978172 315983247 643005791 234666423 958265030 267805714 236080753 971105765 801822282 577115363 383086845 764933479 671271619 584624812 444948250 846223032 476510550 391907773 999247538 920257959 740449063 985776238 191619721 255862622 936709259 886072504 306510394 733944918 859034959 157371512 555596485 164010661 777914266 653875874 516531073 630201898 251445451 276402684 585825778 110881250 585414774 460857634 591489328 897028511 925956842 337544070 103657746 831234455 389829323 432462638 793685271 411449540 473743656 391626267 452043236 614223673 840096106 397106902 796874630 135124624 461802958 999395553 125120206 986695377 107732167 486112219 778432857 976108546 234208709 441365892 115565442 709893039 585853327 526234753 463541401 730067235 146395471 350568317 352873850 882999825 282387254 968764398 359736265 836159504 633396517 665666742 883937074 956524505 678159439 763766796 249658325 552170834 232473804 281937133 180673676 665632435 771073084 563966629 642217928 995931899 367854820 977897168 171825887 693514520 637770835 289951925 545474073 726685688 979153620 813412259 104686569 781309088 204861553 891518742 401729783 139846607 113058363 574111579 912860005 437453068 318782668 601335994 898121662 206885129 879544611 406609303 252005661 326501284 842912324 784029014 623795516 535627850 775718140 166515811 285903809 622010993 667825877 151670606 975732947 602786440 543522872 436598634 762383124 455159642 316858665 327821654 828611564 958798372 659457036 911842280 957043165 501053625 995218310 138198451 942269877 538008715 248799734 814625153 330968618 884318804 838120410 191303521 297499721 500042708 428825824 455690987 185106345 187871166 853054442 302060486 270113917 793059875 446292017 841739648 750735672 390649671 237598335 255538804 530558720 644280265 819009578 983020858 886037392 915777111 240069981 878358686 663471726 526765788 357499833 903934404 234115758 109226966 833066691 764983801 452613743 132983303 860425027 157791932 152613696 854899396 583204178 794771319 828329799 664895484 158310844 809108968 231315879 315806293 997099461 233007505 238370701 427270505 970314300 967682257 120600341 421373330 134641612 824202324 212210039 146321313 172260451 318693827 702580815 467197270 158104301 106004663 386622120 299916645 527957713 994359712 969740996 559377336 543999746 370785587 466441246 472734664 323879764 122556722 843673797 406899497 643049679 392836378 231106160 701521844 723368134 696965172 273491188 908132642 549953005 500234752 341351113 766367834 637105302 404010481 607314458 496233219 470326590 453462488 544259151 113683796 246615624 442833398 799861405 372418363 834908935 145461030 343204814 345194450 729526385 727496320 841232145 120144073 611018991 870881075 909369487 751066553 721513048 801851827 970314298 554438961 667372682 432825479 115129175 581349339 582267337 401647391 531587742 686233365 716582061 838040986 236750401 457910099 990473698 314395770 711263381 521332118 706188412 845326406 774274409 896404119 772307730 145273787 145185642 709702978 121990162 714415835 989052108 875917570 525904675 436070854 236057190 391739046 901780811 553367056 261443539 609943316 358477295 905116197 281987465 894729214 125258567 958896170 433189060 805408146 515153888 414595060 702538002 548049287 224798225 920314994 798084778 465833703 925133505 931503991 602903810 913645990 893659743 179610911 642045083 679661207 575573038 288782385 815108504 721515778 898241067 755987243 976636088 853929756 356279083 296093382 128280265 158945376 487051406 140213473 250684263 865548994 789980566 905743115 450671837 541377292 397075667 166986759 422626902 843625651 215483130 913702164 855825348 791635025 243826897 604502596 779089266 120349280 392470908 126885535 645452338 874399007 957818581 689063124 397093538 856208978 651109976 189474945 452014622 404127082 596071022 516955575 271349887 882184899 176076190 522969012 845673965 889189798 173808374 798499341 958757549 706493694 711308730 916292519 512133353 992752807 715589998 852213912 271182783 778310383 135299259 872025637 954248905 410937643 901301031 490801586 226533445 232883078 555189932 346430954 917406927 373076140 647610590 482179824 571988307 174785260 509669522 512933572 528254021 735496551 441886214 477546223 532471934 567114989 845872277 849769426 723988877 531171654 701692017 377689375 721916891 321037063 159665517 791372086 686662444 838824815 494290358 508294669 574655694 451853480 214929729 450581676 477304138 395319848 135439240 163823717 220122627 100681505 694563191 410347534 208148537 567933905 486735033 983196376 927929293 372422341 161386054 869455085 805572575 441162221 289121712 488768334 241211393 960859638 558612753 441253337 646808303 107434690 180655550 747471924 109242645 274241560 195771056 803953167 609567119 772455641 758908822 150688931 972658467 293924842 297408682 184096466 331269006 334500929 578963268 661685076 383801691 897187653 584248950 815436683 993219294 528701811 710523930 891963167 383524599 563271007 585270781 773481776 120722422 749108119 967712086 587472462 448690531 675149236 326889869 489956628 571082189 878341977 100465693 625888644 351435953 899613082 834791796 691627251 961973535 306235791 251866387 830483351 474704536 760166792 333009065 541055753 477831612 430789584 863287844 451254424 828999137 414316482 729816871 649518692 370112679 200055547 809275566 581750129 889672286 301003441 181353177 363961886 982991651 220005679 757571634 606350299 853858286 613851457 255687697 568887478 217640971 235039263 815614727 725159162 649386443 461398032 814556568 934615859 544856158 199251977 433416029 447764606 965863222 716098676 169191745 436284843 641333311 728445897 416453603 505019482 924483081 591519264 722401799 337133820 402181150 342139297 592297571 837104328 654809824 873987626 777770403 932760826 347489245 221034411 967708702 230988075 186170481 240708930 274348820 265824086 728784210 176259112 292104187 854477147 402498957 904943298 213137812 166168188 810987870 198325669 131737101 691590782 327238937 332361126 347552447 244219982 189411225 733652221 634151303 158704976 152962513 302402642 461004963 634574927 568674015 267258749 254085041 345361463 351346936 308358037 810356386 194956137 923281165 266961718 423539856 931588046 412336450 981406782 336816178 892024400 407823079 341522299 258819902 143534197 707276939 134843393 483727683 298670667 657542483 876835686 492540910 530612206 463354786 384679690 381087275 881564530 273025069 612898036 265953769 422117617 713903988 980279594 202431090 736773628 504665157 884362403 616000537 785677839 419932839 269152640 320609620 556146948 439304012 459546736 680881391 359298779 882910745 613028864 302641645 842197064 436213834 327547781 421519508 400513886 979621838 775511066 112375448 372105255 337532544 589180989 144718922 646393048 863963581 224649094 488268544 575170785 330069753 611061434 831914929 494156412 953554147 842204570 252193945 752678006 645605562 555961365 371378367 621396430 427519908 433582532 338061690 229738173 470843641 962000774 621833841 435871751 923935172 791139314 417253464 855581693 118362877 209973726 671504628 134762290 884119083 853313500 192704152 136708272 848102638 848434481 408300232 631861039 777097072 586577331 645384395 404643098 268926471 502227902 229426626 817987321 965337574 717684215 648866184 396494765 682624652 781383426 926248758 733954149 675860652 638149565 942958113 636976021 377169384 304789127 487900176 764345931 295412383 425340619 370824356 181298893 176428577 315608213 817484204 707944287 863151073 584890495 136348582 460111068 531818611 688304783 370389943 673624673 303644233 346691005 828895747 149830374 890410495 597430089 130966335 952179451 233610650 771031109 725314547 241042570 105753357 169047547 730852547 603595558 683305113 484946256 469360249 479194745 917909712 386194934 616766482 986613634 284586433 440769511 519928701 324660585 631736618 178402220 103147332 233987193 892877569 957437802 173940689 885906104 616453887 971545749 971710667 456132271 640901242 863985916 537891156 657607010 385325415 376229108 856542825 325854771 501016389 111961986 577962887 576060480 709095327 343453708 113447113 860074053 391545989 700689270 166811018 779250335 144181318 983289813 146671305 616405293 559175611 851407942 737712364 322391672 266030607 225888061 322573042 248803809 359472335 807648815 435270553 866482817 178592662 460232032 246185537 854139189 342789262 624084453 926274752 479676476 567384126 534123966 943481577 275126062 570459257 364003271 735787615 299865590 401325510 666450744 173546070 348894879 619219634 418750081 507693456 217655758 578544140 233744707 408151424 704613015 282748097 958010667 161117056 835574722 734386474 450410271 228325686 465358277 431304613 345195783 912319707 330116867 501907362 572810653 325717652 641686675 175290886 306366585 264559769 292487381 357173910 690400132 797075769 519436389 370038468 961344404 860383102 190756602 464887128 834445576 191127655 588930909 406455723 956023891 696829784 266374908 540967888 272959617 261053929 647915288 948784572 399448834 657311948 731298203 223461289 776790068 291326429 251699713 570630945 338235372 208365802 368924590 662358788 730626447 241967067 595703469 674480868 454802969 866617200 714742569 698081457 991166179 200707617 353796303 747667972 635815074 918135362 359393028 148131202 859966065 231795090 569874404 268498228 295888282 870100638 309612158 700756738 297936236 424044119 629120987 750599758 644114201 258325691 580957388 108720184 705986010 864388166 949527867 420374683 763848193 680463100 719444285 222344811 402009688 979111045 896122402 446443915 486176188 147194324 209352746 696072051 706977434 323222660 289265448 525023664 790338772 310941212 634959883 796340835 538122152 307078864 730975963 647812291 537602254 268800935 881896937 696314319 456966562 210208289 261457929 303621541 306591392 802376886 153852718 258479483 348471169 139104864 150757496 287249155 651743641 478171854 346184450 590572609 147549013 911145950 657928881 906317713 721600279 401583793 272450649 988720682 480419913 543947955 838055506 416228317 722395497 323411230 704920134 753279157 669945984 378871174 664251257 451400821 226096775 177337751 743168040 577261078 958847552 896874789 178161583 733447850 385249798 752606366 817401855 378788065 108536989 605987277 420929367 385096727 698150396 848433422 718130055 579191892 860687486 604658406 497060946 417608274 481736122 878318191 743934424 479912841 748045474 114208492 284286185 705990575 348901053 904923688 534877022 686597847 662937126 578029009 588389547 651100614 809543431 928417886 840362690 847317176 675304901 108029766 431291914 516764780 131962019 127026037 355738815 911684074 413839532 844543320 968660465 323768029 533655773 815798922 944355645 563479117 688093036 914433447 761747626 735528395 381713536 432440575 746939040 324700827 952695007 966393638 307533875 693478861 879080931 214942915 235421286 291753471 683071757 791533892 195535545 596406861 915589106 912122780 339736197 883042686 431915441 898535987 416929387 705412428 959583594 910038253 414241152 911494113 377089096 790380258 522683691 892319394 961449724 680445401 243610829 361238232 472610478 997950134 777647366 380249931 915680150 517505497 833997950 240745078 356129226 279389877 950425958 252787443 740437338 521951730 677571755 899306043 869262764 331781889 722105552 178481871 130496262 831101467 383624229 316132615 240076807 920864190 446486765 197230971 102707376 379689832 978295007 326460787 331515263 201943010 672786696 930838619 636262552 863212383 277228819 380179496 211632853 432616345 204579556 209273312 554445283 960268989 330660892 808495684 774992801 179656074 487128582 697292348 301023318 792075593 269150270 209547049 464148886 958969945 143709074 300655819 961695674 778091987 425927178 202739596 920125276 523810960 544301563 903700032 302879452 160173335 568603384 197446299 544562516 856034701 692807084 957252412 664907536 606720522 682185224 340592699 813711065 250326265 504651981 236559860 385198050 103818112 580706422 499656889 613743985 636258868 501134729 939841782 954717596 621394993 795179324 108325039 297613278 665568324 164419484 176178058 931149061 838466487 988538196 206724989 956228296 202139669 980111007 382553945 678303225 851592335 188943600 565142241 600251056 432573125 766237428 347310639 845979000 897383607 631002748 113822830 618975679 521762113 618884725 961871384 514311849 261341319 579497830 538108657 956069032 162992944 785807342 509767495 674031783 842309404 253948454 849056387 291281532 853888325 925268843 623419691 360856643 518269932 835157412 102934948 518880196 144473475 342985104 694337438 482169339 208896649 198808847 976100431 301443144 480444582 143045896 913466141 465849567 841812938 455311820 322567906 552815224 206603037 797976108 123737241 849949208 365166011 354155110 586707989 875083554 213023618 258563932 425917804 710562855 508879636 273430477 518491032 506127129 568384956 707924752 364814508 835414185 333798727 185031955 885417004 335395748 165947145 248519182 520251096 893813711 863091681 248995041 116953776 749632020 603397518 491947165 274387491 678887343 285732140 127932260 722550481 899142456 183689126 355362127 522493854 780518512 843048726 655768477 775933004 774571470 475191930 513891485 940256623 634480619 733852821 124800750 797453711 732456339 348405441 501916887 548641067 906329500 943661584 327663795 860307602 430423753 316761148 337890933 886787243 364871824 807725760 501692445 232029733 371723226 384813054 622428080 785483267 711788859 212032786 365576498 516344200 993392916 192617748 173277496 680319913 881298446 993247054 402832895 279615129 143873227 936662116 863017262 482727505 128985038 135245223 971620433 877369117 853163916 755369256 382743949 801080717 657584099 478019880 400659936 236423208 997802929 776262851 833895286 639311934 275766321 651978576 209896694 120630452 782690973 489558382 243318260 817646237 504579393 904365374 886475402 570402827 769303949 276615601 969317124 462203754 814728191 167507086 334506136 456997873 273420291 436355067 329471523 531766094 402262696 877208763 123110721 650735811 249085423 856956810 893898731 319867092 472911614 831002136 766576020 257031750 159908176 100580209 703843386 802505417 108628059 425792559 231356153 234734334 756312739 115694876 361923745 959601305 845751770 596838966 578514603 897895777 410195505 471083079 137716671 570187456 871150589 700511014 522452605 462715238 219519240 250308119 266409154 732818029 632472969 253895105 244306782 196688689 246592914 250964214 241459755 543382879 345612054 718062590 855888501 392771062 648689724 764355267 486031327 456198541 217123795 697183431 550091846 139733271 362141260 759338368 263904166 100797336 343565285 777428983 695460252 676917679 606203445 244975819 253690061 980413032 650762692 559196186 794116524 310378153 272936961 995198826 521067113 722528704 498776174 528828044 555885135 769378843 675156746 972619474 597408287 993267722 713060262 562699127 500777987 693324857 916038242 267789056 344136324 354801474 948237337 486777743 856568067 567733892 143948951 844254167 126957706 163614571 943204322 124723177 301605681 223238358 179478165 565186812 894855345 250540325 852434355 579384453 279788916 877212574 753018922 560551397 598928417 446880656 253325575 226125465 509027156 460209961 853671168 376404073 335400115 867131924 194533238 578622690 380738795 795536848 555539244 277353571 679225674 145327765 334937122 936726388 631011397 358799776 425944450 337077644 635836586 467916520 972151991 833915845 464243305 886756489 436259391 774594268 414484235 233789251 619527633 477649119 118901932 173996935 484369169 243020053 162408271 994413957 587252708 983926410 568516713 359358408 998734789 748817393 596675422 521136760 585322021 744644687 113515540 282819029 632868777 547376774 908060735 638798712 634304664 185669694 568235797 796965699 993955277 930110744 189463458 307088260 453047913 262034816 340183017 544381241 242918491 313327575 553047451 992518902 168365898 912048964 178005086 195561152 847555733 628469485 537113295 543751417 156513903 951592309 818849748 750441161 687301795 934066072 787427118 271552731 882299481 314934500 986536672 634776485 640142957 836699062 862760997 535452380 405397024 768398640 138593312 617517213 806278516 728831080 387874370 718984026 412782909 412722699 347280006 692908419 961318516 569432185 430711603 204634837 561551702 271016265 555292876 208569308 906935320 139992659 172511072 415165140 406156109 412444537 264537314 561425690 452944587 467099230 725791196 972011439 905122821 706759101 359968082 537412564 767057150 998851632 351110988 139658558 314659143 241355432 278695783 818400522 876809703 698478117 612821847 131707118 780979589 403287583 666367526 817414536 381869672 283082537 720124337 274066051 490519434 364100375 917447907 842490990 400980055 871241217 603739523 526177107 277520809 396707369 919276468 776929619 938160579 967399445 449495493 786555429 123498544 326863689 989593682 968399478 304065537 227059254 635130619 918223478 998216623 203150363 826630515 488543357 144496098 354247818 558142483 504874856 424508909 781307695 300944437 705363104 159738982 876173111 917706161 393082134 120504614 254750001 317857577 320413721 920132882 774761824 195851425 826092356 287819603 894336535 545077666 677366247 896458714 581570992 832975558 680565738 728144717 793919664 291872463 152547674 983445542 609732033 943851171 772687270 978824391 981113990 624607452 643411955 915107332 431131287 917531967 234269921 198703946 664050891 714212533 322235698 308083978 973500219 398468642 127081055 359438326 623529631 287766569 214351900 587942154 746578304 938878930 939071559 489286637 143892917 366191915 332770158 801781624 843404934 770637802 551750698 463644388 983175161 831808756 855983073 767395800 669485098 900504416 893515533 194897758 972565647 496250952 801486533 957127884 660667638 999306006 846721490 655785175 700999088 493832036 420828045 442556057 985740643 622222867 176230189 440979488 149902658 119620984 992017619 517752654 491550901 499173379 490614148 225835303 570487606 445724096 449908729 811182777 428194593 776380669 850073532 490216649 788395980 154083842 291557474 466425299 776329897 173509819 902897545 111860095 519306082 457805704 865292297 588262986 459901980 127319747 740719014 552798198 796252138 927757745 574089286 903679497 489239894 453213020 107421483 888298234 171705587 584520888 665509282 791293846 255875319 880235079 596138679 798100207 215530729 996361908 579402860 728698025 263701089 960959795 172614378 920040942 150107259 304802668 246219156 246628853 894457777 113436836 923451953 396739394 378601779 498631567 634288992 376570104 522787921 936128583 762372230 682856065 518320513 551939043 952115038 353551558 204437473 465023484 113633297 509996686 222035853 182457372 415207957 277141222 752916108 885990382 589807047 314235608 458806894 629585398 489304830 520537904 679270416 847500227 772507148 520197703 946282137 292930902 871991096 197471953 198571087 576686864 777075318 605047800 312606405 428795049 176691282 105438240 206406063 623769901 826953320 776992412 889413678 311261056 372985175 665483482 848707345 959843545 793378707 189487559 700532634 861115131 481816914 549109305 989539235 191414712 179590177 441979774 762933845 421498102 712305479 176081630 201245011 852516292 427966442 453250920 825609240 100038943 302015169 145135539 653839618 584409011 532083589 496598853 500098000 142473062 605985177 943992279 855641442 536821615 205704128 881544142 165809639 307474230 421790324 108509405 590299773 833549498 734874021 107105966 584875255 675550553 588665783 752621464 388171310 273491774 481486163 436180487 299118818 409405415 120536343 380301548 196983741 784300790 445791095 711481002 669813856 601323699 584784574 757386670 456079973 368314344 864744047 167057517 431591349 229657271 759687880 921224546 127923278 636101172 135217118 802927779 991196740 745930349 259373966 917197834 470899194 399442442 260055535 975579980 424630338 314012007 508870198 178066909 650254729 801504508 358423926 998899476 483542974 445607437 613538437 401438158 509526415 228683434 775007449 416365411 286730726 128755910 437558246 565359341 546959568 725115197 782019522 329853383 915908730 807582157 564199276 680032989 582849021 409164609 983013145 678042545 989607065 481272738 396161220 960549750 856866716 824709553 327295809 205493579 737500066 426212523 177030339 775140116 358405400 791798116 167207153 295692895 317136921 832569917 349347455 466810518 713035340 541778517 191719151 973650586 188927160 586851787 868087192 940424223 837110249 604511289 179885972 437352437 647102722 740741785 630265679 299796772 920705067 818535828 470572459 963887801 195678014 433575207 651443266 881123129 563087542 509247618 193790242 818730581 538656904 943633433 427252588 571058042 573134680 852499827 324293088 838188869 989178072 129286538 252637965 143080113 608496879 882957963 552659824 188453623 494498610 387639206 972381590 447424080 578363924 833000008 149764983 893348983 551228758 156729462 138689214 599157812 106942453 757783555 380429579 642279166 112777786 997907943 210197352 449611361 318032812 316924325 983339012 210431458 654937906 965032408 884574842 988865896 633231099 167681366 727831956 775288496 675799415 209880485 467537869 391574788 951976155 344478124 374130529 769097584 662051923 414967851 786419800 665613593 416991677 355139047 507658674 723209735 552443549 560857436 830634654 298964917 120444922 812385874 273570186 620995939 215604720 942508546 573949853 992342264 267315078 602911112 941090543 219515200 862648529 107526101 472973365 938887791 575031296 992613556 862585969 677221584 274569063 576978981 263066415 805874133 556518605 441220162 735198811 336239993 431898927 524923138 987229160 407885794 147482214 599544069 343159425 427797246 826475792 182536485 108486157 928565426 638542551 417757547 583985189 875526418 332563377 719362179 333209830 401679052 585217276 155405503 780682479 102638679 957034101 497989973 492222727 646746881 803558381 481858775 983943311 775462714 966140039 329659156 374299227 406346916 215101425 707677794 227338500 317695685 829988848 516321077 708652478 658051971 140548467 985985008 717322747 617019337 325989752 357520245 897262465 594981072 435112793 500488878 346710542 795178674 365470590 725662519 128411071 507414267 888774765 984129901 834394879 963159620 178972075 767271777 619996733 260777376 263331068 799219228 486812470 831227316 980783654 692284487 782961997 537147405 932869467 450958415 923973610 243965534 155082798 882106779 773133161 167638146 876066685 744675759 430691047 750234767 638299884 872913208 393842634 838209354 665087174 319132316 208577812 321582466 431207626 811340622 913847648 404344707 584354839 236019626 128096904 249503241 132932513 981850029 704380196 277870581 685392677 883936632 724645206 756737854 584821816 296664360 327545242 224437315 357300365 353328798 112009930 445375933 632808380 183897311 335156078 785577767 206765779 218278137 696814869 896416163 599615508 366926102 820117720 848505890 228759847 285347563 845063555 741825349 731252799 156052475 469453894 607506250 532296086 768308498 532966489 563107715 846474559 799915868 229268222 611881816 502798264 720060949 930737223 348539437 908884541 359910714 209401741 776596612 858900281 939887913 695824992 304122544 422594900 908153429 779740614 907054356 182844038 354002231 785020861 808394289 917188378 281283908 472064068 190089185 691261738 479219577 669360074 323700261 732230774 183980146 539890185 535316749 244912989 271867811 963535786 357298229 453142531 331232132 758256076 843225846 223353098 144900469 994789617 516344380 780227246 987708991 946568947 508119890 634153860 107885280 485953139 483733895 502646340 302039805 453969371 819324336 432963121 641818925 591312580 932204119 313349805 420242099 466481739 157422978 960922034 648899422 693864012 826081241 490100975 493816698 278081996 630887672 636845009 953053199 538686000 104871460 975251403 281735275 981138370 506149368 986021501 708392320 551940272 818557777 923927322 163075615 425100509 804016257 337885008 816267944 141749497 179854304 805700950 818310262 976329379 513486067 645037882 361499077 661241121 329501250 393586152 706750609 551503965 387040057 849220605 700362420 614281470 213224672 151099020 267130137 956749784 534994050 687424702 533985597 679128926 645587089 229180447 223928489 330781289 196667126 654919704 692141331 366862427 993002632 353031496 644560317 117124989 483102609 974811563 430062850 702356670 495710954 756025065 161518653 518670895 241838064 754992368 563106562 182544267 682693812 917061007 771923324 738484689 150158627 878169139 770043945 329250878 292439100 743125319 981800093 751066429 246709069 600449407 397773751 576550216 628622601 413840478 248518736 722360034 956225149 176907491 236219983 702990874 667075808 195165324 567015758 216142138 603319471 358032528 337815049 863058398 206445847 363191556 206832471 107040563 254724126 574933754 923446522 226124215 729592324 254157550 588079184 903263622 664403189 759958640 645059929 602158469 322671449 697351482 600711407 107831405 683911954 832665628 752277590 718267050 114502331 319161241 321569022 755560784 114803919 437619863 126092880 171395135 707890669 263819249 795059899 592102427 480755558 100529291 219034859 831449854 498023811 429469900 345611987 721068461 935290128 614281007 255102006 258822038 579459273 499233589 310982703 350769006 198728154 361728959 926526934 720265464 853542804 785998475 285129343 733446457 309367972 432536158 362281572 154026504 572280834 494352448 144182343 806593035 474137426 282009891 688584176 306111211 731185014 791643504 574825635 949398763 826728450 426839734 171987660 505582222 169611927 331715750 117873757 217264090 522756668 221370388 864916585 842336250 757997330 367754401 795107924 870710012 478889068 686156449 540546261 609772935 186395040 170845076 186040597 788208506 313588019 922947816 488643429 386320123 642726802 459381437 231201426 442457773 151569220 611358652 955486691 892559070 608549002 253548781 489088891 644151355 100442444 994426699 457168749 794892985 894148529 937563994 875376246 820168146 606433520 197971544 909962713 301033096 416956775 609441369 566427020 706925580 663297818 475555773 371609368 603829125 938437352 171395177 265916670 364426923 526268662 869125050 516539358 338167555 271545707 447791806 815180363 518388387 927559951 194384380 839424654 549682506 561151154 236257869 405605648 121505611 206960954 274536700 960893860 905499868 368170427 446160218 386931404 776268932 214452307 563737622 143523485 860176007 108174140 850400353 265826463 620479802 291501923 968345465 460352127 538683236 536909824 170702523 799123651 633702154 270439180 359548858 321463945 902075425 434605968 371671783 881043278 336331061 680292034 151900958 529415996 376614194 279167707 301400066 951989130 358540238 119640906 290888549 892883541 159239699 701370315 555243234 969537390 569441691 415642166 981757939 297071854 204747869 828207982 803633875 497297437 895580888 131409297 701944807 954831678 727417880 504571682 119787394 667856604 920991904 567736744 915533845 344159876 761531990 467548703 566772482 582432138 269473394 450680463 912546630 151571865 490447192 633715416 631377744 174017068 449421427 849500237 623348457 312001300 343393842 358168848 274759919 833496197 858515971 829242869 295250104 494183603 455765151 759849389 446550290 652117721 553842921 625919191 452224725 323703352 287190435 437719439 528519655 876110689 426856598 809340541 208138317 128295333 820618849 711508932 203702513 162357286 579202964 709224023 282509881 226295634 664004128 982177377 908217983 317401661 643813757 461146186 722171622 524702596 913063234 870562646 110912104 652885346 243738977 509018322 684004562 230446034 422089357 849945875 217118163 109799522 900554003 656872023 809061854 541174143 531432053 394149710 433971960 883219158 304833791 664787180 339048165 741188676 284297713 672823145 606775421 476071220 905930640 824612871 775897914 332683640 739320094 420912268 770025889 879675140 198767864 961997318 849038966 319154734 652220048 816347856 241587612 219224220 781707529 792634786 895246914 883855211 353529052 292877076 317141525 552983813 950617353 162423936 350422893 616918872 696754113 173744002 829965462 346420117 199409405 965895453 994754567 922158598 859257257 729363055 982637634 845192312 683213371 165237678 465019972 263296905 563049540 814144427 823547383 760633636 925724962 506035328 268981276 244804703 484952830 142222598 487249108 437198414 947471986 600297879 729146849 200278024 837468473 995884629 697710530 677616665 119324522 964252333 241902034 801028222 261322470 551507096 851511452 670474000 365708390 126942886 190753982 553985230 976667659 845969928 359864782 967564071 977290445 497793799 420071660 654869981 319496006 889788854 424551951 435627868 802152818 852516147 362223658 923318704 785427370 418258586 287862692 122838204 208929059 426162635 696974799 553772945 532286600 364994117 274869994 189457815 683985223 628598216 800345189 744540529 581066522 833714703 211345368 820198936 508768765 762526776 994188799 730632607 149212860 493313626 634343174 914476819 189179190 816126496 523050083 980126994 860080261 240015562 750241797 530775180 381449036 336999231 763320439 201695121 974239770 973597339 727978235 444086240 178279955 526713579 585870912 209900923 104894237 506382426 654866784 571487777 233149578 187505765 324378701 745931284 475292425 643022611 114553224 910469126 566176652 790141887 655175813 818917805 554364349 649006317 713515103 649830202 676577528 189746320 140611014 532990462 788035445 476596798 479704326 200841945 492514285 670265789 305198927 786878264 417641218 817991290 145802466 971937794 808325797 694628919 350982000 976417411 286232683 867933309 158904225 445594054 509995697 184930902 764424327 612250386 675669052 391325739 561628778 922277144 832668169 390552347 341044491 837377836 545718432 521315573 630665741 250158672 529831582 944005122 295930775 517742929 949760318 324917018 262745098 832164385 870240709 616571521 517744702 928061838 146581983 335798694 590485029 663759683 312649160 243504857 923986073 540959581 482691011 506927020 790288381 904007222 751393307 439775523 441376399 163711938 707296562 220928824 542233228 288830644 176187739 863012226 859273772 674933243 309530662 219717905 747421795 814731897 290247974 959337429 421307046 727830530 399074220 259760519 948604876 817997868 628698928 448630026 894080559 498874066 315230087 558830987 207073997 101327447 403963915 487514433 459962651 510044946 163698665 557022334 680059059 378336059 322237667 709769420 172404929 975547086 901598394 401865731 250243276 514179981 454002014 332765783 387155983 618442255 977530215 259888041 873521260 918008800 220040521 669627691 923918186 304288831 190710635 291248792 287095006 381744359 559832553 580949116 647572970 649042079 807049329 415254194 249316257 853612606 487275545 117127660 487091696 179784696 684927897 836384944 451191291 851519364 889724812 439349062 489222562 989001145 432953884 458286006 534380986 216540231 514081457 792371728 376422476 710065530 637807648 442490557 304504023 979839985 466924005 814866398 565636270 840551775 908883256 382431742 885522069 675145682 400410752 590629112 537749399 149532109 125468439 830442008 931357058 876766724 394391543 296575730 671577676 404633945 219269227 513468986 687581932 149244309 599401302 201766505 237125977 606618935 862045551 220940714 613010428 771901394 116293440 981656000 804495819 622895361 833857671 238780227 397464926 426952267 215268425 438769340 935854997 453416058 885127376 236076405 258949124 267746940 809292603 580104510 529669136 434368061 391974760 318124385 714053290 202029029 423365982 272585861 524620085 112235852 577423489 107075503 945950885 734600927 408560971 270306223 964032295 194415248 677256123 558151102 840274771 572876122 292268458 643368785 427228546 635524881 363545640 204004126 223978832 166277536 460967955 743729352 530492894 774633027 904295316 325422218 948900975 646985429 519984934 894213533 374215346 537279806 730926732 137225536 348753966 313767314 107202347 657487452 926175690 687388283 346503783 369645537 832737580 167014758 674167458 628616717 310407943 241320498 430885434 368872861 748328654 780102278 837118568 245077896 114310353 350350994 263573962 613405875 705491101 163341595 188220309 331213814 550292646 996641637 479518397 160648320 532890570 132289923 902705323 507750398 539735345 660365592 415770223 516358488 191207081 884402207 271890550 182595525 750215400 709244672 985906405 339497008 182831011 269474764 658562738 233101998 713716524 408591352 121664858 153187593 484615151 901208426 572826238 501575051 789352433 821993085 422814911 813153345 654835485 194567730 605018954 411805341 256956657 241063962 693489655 888285864 490733765 572146550 391602981 485237282 289896914 835412748 191031520 815933135 454943260 609933424 281136791 394256422 404958179 625896473 295647319 631076707 979545688 618834324 816768248 131898192 416572892 561417455 259121176 680033035 520416946 741708797 196818823 357349841 890809889 323388988 301024188 980342347 848577451 132440622 449535618 907339509 855349569 301651437 432800934 580818053 141389194 300218498 681546980 986109472 334312925 502662577 271737409 408987884 173933547 387859809 610663729 839847266 839635154 613794880 105286093 651458366 494800183 437328309 123678143 843664344 564267318 320840764 656484754 185356301 614429483 922923572 151107148 455997548 337092180 546749793 429773465 127335425 656921427 630429143 530276487 776210786 131900197 672843157 209002517 202854395 138377521 115402031 211452286 541289033 781205313 763312552 438842163 813704713 387432375 368491324 151163135 401287074 461833107 514213519 703694012 668665618 557755450 570713531 487475478 664757475 671607245 580978255 641827651 112947194 556056083 510520142 581267475 381084078 377119438 192471405 901010436 977062754 184928536 375298649 657710307 152524901 271933914 501030046 585287075 661908104 383359590 883561402 854654728 262418329 612569510 809307782 658500128 528638177 535985185 960326076 492949701 523025126 113972403 549929238 545866126 628447580 384605366 453207737 689396233 933012986 788500115 955598914 844664371 425243661 668619982 873629990 284114334 251310479 791900323 395067409 150884119 430072845 413423011 814277763 558214461 739884817 957451106 195521159 605542573 639868882 107368431 386488676 154361434 815165688 355257073 971167857 327363519 305197574 255046149 818290696 499428992 391115758 266631375 663413491 458414375 142198135 435836110 851623405 292564317 571677088 629486314 254809837 126244464 191384674 603051691 339692684 289105169 396817704 913839557 719384866 343740176 984983769 589925150 549846373 681197233 617715621 485914223 372460083 985064530 358943340 399255099 610726328 987081231 919399077 692874925 690577012 909628134 838814353 279722271 876411036 407258062 850678919 395656049 545287073 336226545 196005607 692436464 283434512 615930649 654610662 936602579 132362845 332003610 245132272 423902035 903917795 755403141 526039154 514280070 277270659 869028762 904837929 234538087 844732992 162722206 673395435 611929610 574124673 317354865 655081161 691585165 331491070 483520614 894121366 663147727 213771442 475992783 522539907 677158635 635759367 181822943 139812044 121747303 260081825 683847962 107730855 452755019 226363527 937849134 773671887 403599751 441089887 845516022 149353195 270622037 457690467 566314166 234025642 745991825 267359736 504033932 375731165 690036462 405584146 840747018 134099822 113604832 571960141 650117326 718905411 119124210 208174804 623931084 181945459 904769059 799354463 835990577 942682875 643442761 842357979 785182903 589999262 778560245 992263917 579499805 640458425 673406150 476243309 595177351 923706228 831576819 352059594 741696384 323949127 865359504 288099881 579717737 149084242 979522304 128054883 641593533 925559474 961580146 317508046 195439887 204216434 522399040 993267828 743412519 557794272 968135382 789622478 213754436 675785698 656080778 399066165 633678488 293380800 788953233 606517584 689966854 720430509 863149128 260927082 888602875 374637365 278806069 857643883 309782466 625288088 841400100 341402955 884591289 423681199 444255556 130491654 469134839 468628203 186515787 728932792 480430863 510571804 506655308 190644328 636151746 197606535 992933141 425553671 558399211 854679594 109995440 539382823 106628939 960734089 881894984 835162980 165990858 367151923 910094422 744910339 516153235 941075031 144453757 435925926 607574708 818861941 775838111 869863953 314054465 415912400 839757080 328873184 913727959 878010622 771301692 667687600 570491881 171640727 455690694 459901376 368160545 789224865 151078418 657767729 409788294 391704544 685603683 677185626 997090191 199540205 325684099 326947964 166929957 322568966 926789945 151728845 872310392 154086006 731639427 374501721 629700353 161797661 434015220 610414876 687123034 745983477 956486989 346832442 107978640 188271603 618747834 800105322 199339279 348201294 411935695 563156043 838845912 557324267 846533183 663590662 343159763 667266413 280153862 127758739 513344303 525683024 697756702 236020439 980930444 127070732 926797699 340400181 402908086 564481540 111661379 946806626 342273529 709573955 105823890 348925407 664832934 270643959 502448730 410235000 503792060 238987908 453835382 886831887 865688488 324490882 167034742 304427875 296759835 511329067 550727417 959759587 639424598 450642193 891309967 531153823 659132035 569121291 588053318 181155088 857182832 324352427 315062851 917746299 649189966 706656986 936625807 119984862 641686437 386544377 496719223 791010989 859286948 921501430 709074668 442364895 344585115 923239987 691560086 415549868 755018477 439510649 454198382 941856918 329288928 711291886 907932308 335699844 127185742 498624942 333087275 363183772 254936705 858073571 181702962 889053164 391259428 654286775 555364651 485719791 979020138 963942127 386375629 265904150 850661958 572971232 855747129 846095259 974480494 408820256 678209886 780543935 700837633 768736174 862428248 752176288 648208855 352652421 163692966 242088651 692851122 153686244 279526593 730529379 357616012 548704139 813087260 489183377 601618868 998201158 461691087 247809314 686711138 922928263 385647780 499008500 189218969 671939084 836953242 811504536 389602193 485992331 936730208 597091454 883193131 822262350 130162480 686748017 798634536 359386194 707030479 519814724 719253703 190189454 951823953 127261978 717146964 404236219 680655074 916443505 552008736 527876135 241383799 536143296 261864553 970022628 916569435 998516723 253171703 859525923 208026467 353078048 330716203 645590977 877175635 216490742 759182134 734429515 791123884 884418271 802084168 420270553 539517830 832498713 839133954 691647879 337935189 235102740 796904313 918230197 875281103 101510948 427129762 330614054 414561051 819374275 333109042 375479384 902037088 744031716 767881025 748622572 786388900 689538553 275170149 629058209 232358692 995775392 930885506 305211440 665248973 825070116 598185298 991298535 420578800 943977819 966538749 701292672 288411698 455114476 929031173 376023812 159406566 108888528 325562856 560577523 191400143 761087698 759024106 490756708 228276529 163953346 695526944 935555660 828247380 109725151 677226356 371240722 308890663 468259096 937437584 909273739 131995476 190489803 451700374 799310341 715794354 815209368 915277328 113370746 202547944 482178795 594697097 921503312 550567202 317976351 315098122 472297866 652169240 481129840 922834762 496828633 349546465 987227306 467671859 791802529 313650667 678958324 358946454 475814156 353822319 154566593 257762636 634976652 527064406 534769248 537672489 965558641 225679460 861890839 781995896 698621474 264703679 166483756 983795581 769969240 520819640 152444449 619659698 191987235 157580390 524498483 868822320 401496469 372359928 521180752 572654363 294684925 186432065 187066188 626087142 515341678 598274343 777369810 518945329 945384567 286614364 925767713 313149908 839186896 511480958 239019824 152988772 748656196 378123517 725230835 168966864 501650518 371406542 679157296 343712280 143359329 273012670 381682922 633073744 465945799 184525716 709406947 228763554 258619342 913277330 502421595 510137600 562606429 636521163 920090860 644710453 941706110 554121098 967043935 840736754 601013229 982866992 810480834 778310647 805364568 665581297 931663793 243540597 678400388 952663217 301114925 431644740 296809816 459460600 543559594 663214913 706364373 821993485 223972791 889108656 433236771 898853146 338996161 997035185 238342171 938599401 288933414 984273620 915341311 297804243 564930245 347874433 937719316 556675638 407992825 844938150 704468344 156702717 911228640 335991853 446172845 621683267 535797720 917689595 539428367 333811968 330594940 877454873 572450207 410238794 810106688 410963176 621436280 663104513 786336880 685825498 568078677 478992552 144421319 131827302 728420677 358197433 530683258 673277670 383994555 675249487 271702306 559744972 644086325 126970017 257390058 197008320 641204267 989290109 647266133 153585840 352895433 550556565 493960627 356401035 563301879 220693387 773023975 252847302 257778197 625361247 857592394 893793930 824490264 976403837 672392307 506544341 915076379 714422243 392502970 552205203 845195325 452741172 896310937 949827833 160862082 952093840 792490347 458137638 494490704 550260887 241981284 205416819 466395301 201123110 265216647 507961867 395511810 482283384 512100477 918259624 590106170 210728550 309873076 584480582 921094164 729751776 197683967 812298218 926680298 181359143 833361305 776414555 796849794 452360549 239471526 614836449 142720212 769149588 432789861 404959010 727832025 832953018 478396170 311818711 867086807 713440634 998513938 525413028 244668997 922312537 172818373 874891210 866803204 929887039 653495529 881297835 562663630 429326179 403176365 862334200 798235659 763101512 248387645 263985201 885562324 118784665 520243575 165282985 185589461 292921200 456736353 939560696 687025562 857069325 406967563 651026410 210000200 794713050 849370659 957682168 227347862 681131777 998792401 925898566 523097031 696751284 784686283 168480369 139752023 391581168 384188565 636235103 984752216 852504274 382248491 516895658 123557635 559611920 400047532 998555665 149175168 136748397 800551068 706039562 297199701 618962445 755686752 357240948 161458634 147658052 280820134 448109951 393763794 534416165 521699192 917428273 615988217 233505445 360799886 984123012 541122448 729580597 826433856 472018491 143839073 811004012 957539293 114530291 277518939 526619214 323660200 544539118 536989199 976542515 122667927 874688800 350264247 668328238 474021080 192259203 791499216 825248467 178618648 186083923 795489599 229167827 504762589 559535421 364058587 909495718 817098754 793212687 312970814 688616809 178268920 626233796 293834730 700265219 610961551 229370719 484088665 121653432 360633561 829661225 422230911 913097985 340030190 317519787 967277577 230041198 571149455 549497705 942906932 572940413 947300527 271411972 365667942 980757301 374147214 763555105 728519435 743987766 509397324 511311414 400071826 942168991 427446501 749381997 334383374 264378091 184108008 272453730 734023281 128664567 476236520 448026400 201450984 886507311 670021117 749810454 220677075 637732191 760630123 814354364 975963639 419469346 726965337 638414963 570803948 950435326 160165581 300627501 222374811 793529527 158383129 895817736 349570191 693872365 794321127 398717505 288641081 997936305 884453894 545494196 414060127 802121388 537894678 492987992 917777363 419067950 410951943 300522378 373860427 253345672 722696655 815904344 470432754 794264076 540108943 799343640 778257194 181909630 260769289 911151305 238764955 264325172 479817856 871551067 159437510 572650821 576404679 748170584 818093159 225103449 423060505 778178940 195001874 129689713 502432762 707701846 792824234 209217053 433216566 541128707 657672782 146460694 755160990 710147145 171034486 718270235 809136938 141029526 684727504 668342413 878549145 239248321 707801649 267123467 416514805 266204440 864510335 271539080 675321181 733723160 687169377 551866455 513173099 361361369 907609763 343533429 546574877 510463430 301492237 282126080 712107452 484747607 528916323 698301106 749604981 108817121 508458287 119784911 310229260 289535732 945386634 986272096 936931120 646523391 433873998 605531254 223971805 547196830 741509407 612547022 860766957 176849977 668821622 451614632 738846966 787387197 340027245 983342167 944847750 826333127 670505223 457269434 356576968 864471544 398089738 188090120 664415135 199860373 763865852 513213852 450519898 122354867 648107325 713009957 993116011 800785703 756690773 629699250 748369289 440825218 615181123 614575031 213289792 112894931 278493976 164311484 692803405 629830647 639662491 120452248 717933621 214751546 373413349 355304096 389725358 731774503 704897269 984994245 442438381 431255667 399143268 145650725 273114315 968360868 772441855 586828500 264789697 375436827 737810205 737078636 259974753 321821677 210711496 280410007 832063568 968768947 550230360 566249404 763984082 207082354 791207433 270098386 764453389 940700257 568665272 307801287 759709423 520568865 987075582 355057575 351442872 874928966 926087323 791458685 371122134 219934852 651031150 495364382 444165867 155667839 231021513 969123043 898190072 138363879 188439852 997868828 359115970 508325794 971847166 625307506 494811606 137648259 864263538 530982163 995324444 413208242 883720113 275017237 846219770 807906496 583820876 815539085 165342239 167934999 120356960 621258661 781783425 265490888 134441767 699375271 140243297 570421288 532820020 337657567 185928188 310871872 237781644 983500828 689381327 809710573 883449925 732822335 332689200 149480783 530896290 235606691 969473450 148348569 593830201 691679545 702411471 669172757 587938232 718163273 506235782 831382194 716272035 127255561 815250105 998193154 616520326 810628462 633935972 224478099 843449488 335476336 119228568 575669516 191085081 486763116 461977542 524730588 883235418 433610104 361648840 761266985 901992989 808396540 190964367 173995788 445688478 967282131 850490167 456263404 748919329 592288964 281064575 645363299 173469535 481712253 299488215 156923098 293748887 111827581 606335302 797945095 801929707 402246954 616934917 318660827 257366725 496116420 781526908 478612853 912013284 539984752 662813277 452601138 340987077 300485379 813689261 583959739 949829473 564068697 469009163 184876217 722714102 735470868 451093398 831448797 136401310 133182571 757529673 603597803 267813525 218200523 915595097 769002718 149377028 534004998 241332606 709652230 246682426 645201245 248591646 445298826 156253606 478879164 295268199 145999122 756024633 117290248 871070256 321409558 545264599 848103669 588106137 782519071 308557521 292683055 732988481 362873926 827777869 411903707 547269775 937072236 911095482 648202132 881756142 562616569 995053931 518413324 870235422 466297207 944573475 589042240 183649744 379775845 295478211 231054202 329359860 151181215 805901468 331965814 829974367 203914298 569850947 318785290 381007215 289320301 446790151 154667746 447342871 525321866 484005617 262083894 332583180 974287760 591371421 823085614 122920601 415924485 110334692 933365422 687077336 328330824 717409780 676896760 889350763 600682760 692865147 492913787 487654967 521474058 798464887 398983575 669639474 839817709 165260306 499873465 913143575 333954841 107636024 554158279 683699494 239930692 689718057 410441820 585514766 607988868 483424693 799621743 366864162 572691346 295481193 589655110 520425316 355263444 895798366 778060081 676071066 916882436 416273878 940528072 596467790 477136882 283730852 578477258 512703804 790131830 368205018 848423129 441442748 336832267 218493228 966982401 682027288 998464123 537273500 534970466 123646554 328160799 489439111 710757668 658117250 582822050 861264979 507071372 722803126 411406899 464379534 267157070 638065200 951154773 661800540 994203039 998901986 685823950 786411638 609111471 633601920 532960664 811576861 970626228 135527166 515016629 340268676 765645892 443487538 441750334 367422043 871836816 867720415 351451372 839818559 115811929 344341568 124258055 691813419 481505364 664837697 364770762 276257334 542160167 194568132 170599359 598863608 620809124 234295767 440167517 811852930 296372407 892348721 717606557 556006622 969150032 534742942 590097804 938483165 306440796 180511200 919290017 928875341 681014355 818163598 848090205 589520299 768575002 366035000 150261907 256876917 308340475 699810524 832553085 597850751 249216493 537230289 749487102 991004636 468181990 838066970 167710288 194385834 491294930 188202379 149573586 582417467 658153385 993795719 834997016 377458800 200504856 855860125 235121247 450372385 866002711 529012125 864653825 966169804 466778073 920821084 605078514 141724302 745252871 107028059 439326109 169821112 624726314 500312973 415586723 153793851 823259840 235906931 725487864 237013048 598058393 996202859 767936128 355781619 200210203 820374856 284493212 952265447 696722757 714474906 564788202 647821860 663897464 776272259 788214699 142333587 239221358 763524107 652568740 577639504 955006141 808601559 383483559 124382045 499213582 445353211 275786580 533368388 388647215 401363047 870902084 240832585 950058692 922037403 832243609 461488199 997265247 263051801 879750396 780153633 620112131 335732877 322162583 970101302 798382524 913192962 102855402 601109850 542815453 534503392 500456199 232281520 492312326 193889193 799256511 569910534 382043758 852216249 506235645 239523729 190075826 921360923 969023922 784159886 800028282 970299834 923949543 814044891 307776183 978374293 616450642 213195896 145861951 442410603 867449980 520948180 251625327 892606752 735166715 557625328 693623613 639570117 380113658 429289946 134183470 448718999 711193902 869851934 611037624 458493442 275587639 227006453 722323209 877425946 712690844 475635199 692278078 624170194 774780520 346948841 262106672 409425542 999736247 196347457 958298257 278554314 984525606 633375926 167668362 651195855 719724146 702117417 658798339 153839668 543645437 442951413 310983950 990622639 779877718 159151298 892997787 453631242 329383067 731260712 147334360 163533377 208575803 539580953 154718823 632701798 228252968 710874012 704105735 927405498 903233894 800190967 114408234 888174087 764880185 242340987 520017894 686466625 835246836 333874126 582563518 521851356 273565292 577094558 670907927 935664995 540479652 689032503 912611934 483781734 581894547 963716029 242518090 237859902 944857173 388037411 650523275 971096282 324604493 747717729 865413447 562418476 280182315 714774526 246620430 261715464 424114292 340984243 519341960 993066294 396440192 889944311 344501439 221885322 638369962 830286447 599763700 666251873 811722806 313161259 495487858 557621054 762480737 197134631 678288927 192961663 473834416 911978482 509782492 952427961 415813712 779448844 701181870 227301269 876336361 328753878 770520141 307819572 425042837 857926510 537244617 709012749 943657850 702339808 878124541 797481079 564233569 587170641 952178420 870041529 547957083 359588632 164351935 108560572 629186512 637637068 120243355 417241822 726139589 185921307 917921508 478579700 761799563 814728219 603539355 673224921 290318677 430263990 627165054 283494057 491811729 726329885 407351838 238115724 492481789 618204775 907829031 340682686 936324439 375078103 826714806 933741641 702000780 442526489 688089097 673777756 992211552 844552267 146237175 235658578 866188612 263349057 908573855 891125874 646167371 731898460 326896652 773887905 919097715 223667883 491150052 941812723 808664535 640990355 453769069 176801973 562919732 453564516 357051818 462815383 461636644 272464241 489388128 145167861 893893509 935394084 982132615 591728368 574007445 845459338 662556790 450236172 845928208 422031080 836172868 291722577 224736102 968228076 399831816 900245164 490798175 708296534 775792524 883043022 946779590 209169675 548352645 245498802 894482531 470855458 259234868 815237926 622535269 242634464 463154816 742095811 637683094 606653985 393181926 200581925 970352922 504507986 341476796 193592835 695588201 250206005 257935075 673486499 292536727 858709906 923608768 752650691 379157046 737083390 546956111 601619471 885168343 148874855 502358991 985190946 789376623 339984882 758571738 285731648 743894426 472028077 997450050 648445522 440446806 526984554 429062442 657766106 865882818 913399838 355660758 951599150 156848719 796485708 373877563 520528065 122523967 567845140 675997624 142620124 427471190 251489794 208831427 902668919 782080611 272164482 162076357 277536116 627132533 691899916 393530192 347170862 937779661 671369898 139923218 486280453 543727498 698082312 123661932 729916170 247491241 787626916 932440937 516556598 806166434 796372144 498009708 260663701 407438551 771978877 695798200 734312516 653714185 269232687 208896933 616886343 778050279 465575570 667523244 127149478 534961719 371860036 606461604 555813277 323989546 432605090 646686078 867423793 113315142 458354517 829937364 763195346 374494100 604371356 578081583 195107200 440269699 779898794 909519038 405183215 128787268 676290802 531605323 808717625 217123279 478499463 979508351 774420774 880120490 449845724 277550156 266549018 536887799 851120378 864730216 976386250 236055805 214503764 747014647 762818115 231458946 905863104 575611581 360047492 711060036 751825494 377425110 935799628 242124144 242338803 965848645 250885569 114906421 970764639 469016307 909543652 674092207 688069035 103324097 797242570 925730744 707635222 104100723 388462326 589600672 496926371 494759846 196201559 563018804 558885246 269144378 777142202 752522996 327279440 768146929 778987495 913749274 644206225 884029495 348266808 717203796 537574036 258189519 520949334 592565558 661173884 449504792 713163474 500189993 667269955 355997774 595537856 425477858 643598580 736587218 200372820 792805977 648896043 380654633 568515763 168669069 335611604 505698295 838274101 345974351 472779371 796938872 129583406 443087481 771900816 605918872 871125779 245084770 334708657 519453204 946011899 838418824 809504248 200382736 864786363 392550713 828675422 157708027 432534576 297111586 257051611 386943321 487848508 953795564 539790627 148644888 571966782 563169638 450548373 828690511 938535715 408224212 570626085 228673082 777252124 612322855 809447708 509616510 965166019 715367001 350696279 518169054 292319477 870520969 990551817 868744949 830229611 812472020 838968213 831398050 746886201 596750266 442376718 763223669 544274069 155534430 228880676 604866445 226016194 612958387 150323844 612691838 702921964 447501697 291650339 718758762 689017504 915999462 892469886 730332722 964150318 939732496 260833447 408719419 930363228 449002714 883498312 852633635 337095523 501700471 229176911 723183984 691508509 747394831 864067639 380630213 380676546 472384009 161076987 969784197 304265721 248048233 942732888 245526842 624110103 239886322 244428726 532674993 931371970 451272586 686873920 132981639 439009428 785112541 173926644 685280008 209149352 199407031 685869898 999305083 332778310 409582534 207819044 716879427 816804691 444155193 853581925 467209378 971004455 188211416 173930612 952824423 164271407 223082280 965342064 965434507 370601158 957574805 919561002 716693498 190045364 411181056 806870718 673898780 150544284 762538647 974284077 170836831 263993824 888128909 558992331 500339521 106236478 678327934 337110898 226862610 403743189 761907193 361500339 517894607 869264370 583773219 972310800 573978395 115116839 451798412 798959379 239568179 957407096 396618639 879510869 458006762 639948495 474563778 131092968 483989506 374838884 963386234 841772793 346689270 141191636 784910231 291550632 698870149 802185247 287536971 455350347 976546221 621093536 766654744 568374400 325439121 754450634 446760115 690415398 166729598 834784229 259122087 224694083 315151301 358022402 967584266 682680417 306226775 119575541 765206170 713582338 150926821 456788234 681176339 383395655 344221527 375166380 911913442 367175914 709407657 536733160 447350595 410487323 423818512 264639966 772033979 469459701 887540075 629829305 160283768 335049994 226821729 179613309 733106742 805506663 383605463 182521658 427973950 937949880 508277546 913390714 359609336 462399752 258961684 827724009 197420169 516118641 856929883 252674930 405867029 729108120 668983220 828950822 330058293 101534405 815452649 693560185 963118494 648333653 691651206 598513004 854008887 411583625 197333271 615246029 834387231 902280730 183235775 687629753 836831264 947026181 648544784 680110550 494983692 284262170 779606821 213576056 763508533 972081718 193035551 110159918 244630667 758673997 214234173 359523696 371035382 671803565 916854299 246376797 732343768 255770367 177915678 422411143 636077699 687009351 882144477 515992594 122507798 235968416 614933196 725249943 954588031 508583543 334921224 621095512 144821031 689518967 259119108 644810321 894343612 729098204 834807159 612603655 903105428 296933647 535301528 484190858 992663177 479033107 259858868 135827225 449055678 987288043 973202761 655165408 193842886 844616322 538422335 808596088 851103113 686563293 237925833 430125049 955407288 344688183 116070956 462889021 583871966 550783761 340205363 168420505 184631639 228685573 195480079 245121657 334531986 769655437 453741364 203943110 526123340 584694773 802702786 985394859 722976144 389565073 176549176 115095051 975392916 159770793 623836615 940953384 344902729 339044563 611371055 677327859 459227335 927447440 998496730 803200018 683499432 498948451 111898077 209018799 269663388 890640977 566135811 742215717 541848356 286077194 932131547 853647589 866340031 554765828 549902680 804774374 586095252 535609749 787337355 220410571 341859242 255413916 448611611 414611780 459333761 868354923 615719223 720975649 258099748 374789324 309924380 290310651 142153393 427181484 783589147 703336064 104377040 559788389 238495411 365372369 926414156 786389643 817956718 336667519 644550238 276577386 425844879 570594197 833727878 700154395 751578184 381940431 482269245 261918901 341869446 824873052 403268612 142705402 705196943 339376976 784942302 299243335 565217335 667434825 361319756 817963861 979096918 627186666 653132369 105007113 377411319 267993816 159018947 894754323 730706491 417693809 508858356 332045276 154707702 446073133 370727954 337579578 356062844 477126514 362722077 704785914 112544680 803704907 847752178 569771459 636481704 229178050 221746988 156424777 813837175 109209187 255891664 601720974 230481352 374159974 902998987 690416245 482819388 924526041 785590313 821043755 758088383 218206199 957647922 774184634 307684853 700901432 251342532 283297521 571891056 325275032 165678916 477696005 288940050 393970930 584526924 192310082 840589726 495077680 625316756 796470602 121681994 998149288 950221815 672213803 988733727 412853502 372835650 903119522 333514352 610559909 985759096 159602636 385765358 933365330 891419836 237193749 320514359 808765735 431661324 631648878 951277934 904191332 238789409 859199699 991330511 810194683 547480530 647874619 409288086 717607537 115647471 289737867 739880364 546069877 507898358 528171264 325379020 172077014 582010357 618908188 201052972 434237482 894868160 154933315 766027538 183282581 295051287 618827093 271723940 972711740 450181317 420564000 963394502 919295028 550804577 570744856 319191037 323581296 711881527 174524731 900731618 577726661 222244381 287479272 311765790 836038336 657267231 166549721 594318425 510528773 970747622 133935489 812934095 138063346 709456022 741544383 368486300 676032249 411765658 515193810 587340012 736564714 479053763 663815933 624125317 151554132 103173449 475467996 103220945 136399802 551504794 332934579 789820356 293202921 847689931 151848088 252561829 757690537 420005501 820657158 180726966 302448532 842859311 246243898 975741497 995431361 280549268 740658121 884423847 211249317 685057724 946945233 235056911 309942761 306228185 852304339 320641007 866933913 158891066 297861848 950309170 513501659 980506555 280703966 457114294 644033238 925605034 768901633 600924690 901988545 847534839 449959365 920256661 685062611 348485272 571992075 735668918 238425253 883091495 267108329 198344369 808638905 705499158 476320215 178546747 123868644 658404472 316155342 790379916 938818079 761406011 111775017 170843926 392380934 508172186 907286453 719508883 405272240 294631713 596359351 832754237 399191499 522053637 705745337 318840944 364916101 731130643 807200666 854367671 307050144 601547986 810500759 979980004 572792272 460872419 737916470 971601198 154580501 737810444 483366095 583227286 473282000 615419516 854974777 256152443 718522986 699818982 490824695 514843315 625955551 540570010 543755019 401468622 479110584 112355081 741413706 876204313 473005679 714613463 993580117 223351579 669245918 697333814 529390487 396175731 579533237 267806078 993342546 190785998 395067507 979279845 299265278 584688217 483841827 907372393 395436499 342242142 479901953 450571732 364100538 463974833 864682954 161398268 394582379 191350728 336621145 852350755 710712065 988190939 353636001 260616296 702784982 125849523 971321300 149850364 311862629 324506060 608859049 595919425 627109595 833412892 926552660 257936724 192944885 542388993 336132318 698587744 145557052 579175798 753220580 929166511 823321458 923988203 985918008 953224527 657354163 988844770 707841503 963937938 564127835 930738867 296766657 705234694 997935276 795401688 230049167 114673745 628999155 245477993 339827691 258469897 717960883 677358506 839252464 464924363 593589374 526103019 781568560 354343407 175739466 912565873 437581978 140458278 876971673 231242252 678571722 391607490 843179584 217673264 539852057 733621854 771088578 263411202 919458174 428872425 346963958 140204958 124188029 800923345 120695196 123573763 297116984 657731589 193299318 230565954 597624444 301471425 546885142 115847215 457832480 293577026 136294049 390556320 934478516 351848350 735670314 677564193 535624652 251157485 919954703 519849653 904480747 417530326 946998005 402479157 639306357 559938666 111679513 250833695 160588060 500079706 325442225 569185494 631916831 351205371 805100779 647847524 234061932 485642866 846896691 817339807 872135429 990040435 464887289 444213856 142681811 595327436 157891188 239999896 625792185 754759828 975191203 858598165 501771214 685462087 696769680 894983217 929899037 224540334 863768467 270328405 961882431 960221741 915368378 466199504 312679629 657561453 643353744 112960210 826485188 276297562 321077293 560987855 658688501 721278491 553011110 900268703 851051551 437618097 129306637 594991691 814234023 442399793 521359563 666038835 241571158 228655953 125562348 578297456 514830128 417228510 359585556 688020944 737975454 458237619 559770694 764154642 666477080 554148819 915802765 542965314 927714035 388280612 812122847 521552040 996467843 999153990 865775388 301041292 818299929 267945386 151246142 775769361 300891869 625768094 786259060 184090849 776470525 394499949 726504953 140993938 861139856 399914789 238680441 215005291 719854019 394641712 381488841 646160325 894564744 980282772 733048581 278091187 679113671 808316411 613381685 846227372 312428247 191007928 118891513 747828160 235908985 492993439 157170505 168575808 959051559 693140538 912125675 449764209 351614212 412153124 612765351 261827302 955476176 198606973 587696733 376061407 915251375 482784971 344021498 629917736 359105289 208765093 868232815 451213278 485710579 581484590 118511325 270477821 984896572 421091235 513213632 173533418 280076473 714960109 456939146 696047322 731795051 984940067 134035320 100008384 467863941 909025207 194007356 851670884 925076224 871303451 494806883 902125485 701271677 105366415 627681516 227151830 106420778 713870572 351754612 544344647 123979898 475960281 362369885 114618735 853020592 694380059 318656276 468202007 296665398 798972324 402984624 664691538 263950463 557905850 772776483 712812671 420342997 487928057 340656561 791298749 993348010 524133480 646085655 131552986 739819543 798583377 598959153 914785683 447580145 944491182 773594692 373663030 907721642 310200618 546235519 355936477 992244366 980254343 648271043 570678933 208160276 232589280 303081633 548517621 492785121 116087178 674094839 848109526 662046984 435867593 998717690 131059290 941185596 686562475 432272952 551812928 133793066 301609428 158659681 255590726 313050287 401739131 811781044 542870006 365579757 815684153 558871772 656292815 973357941 620766099 982874788 223989372 870421270 108288491 199341459 387389700 546206528 747471333 188047166 721072029 522185671 726708190 827674312 941100365 955616725 455073522 797951558 441461466 240512531 613679724 769857262 792246450 265381156 211741647 969215710 340239696 909994835 749448120 898715162 476407595 883339151 248443879 677700233 877412734 795841644 707406292 173670075 300503892 797400735 969726200 943070661 949152998 733739068 351297990 350984058 760266909 838313735 959132961 614084566 694737213 428362314 916825991 866120276 332734239 141136408 785014543 376151211 431934835 674865755 139352040 565093675 512425484 558790892 651544861 244384817 859338566 877527960 385755237 833696666 949762695 710328533 833877376 700200729 345962171 250696197 422134163 168365895 561773603 226799448 434242435 337707437 415109094 171191832 322447563 198393480 814505603 421692808 231896356 904508815 173327865 476715177 334598473 442386250 613329988 899472016 543765792 346730154 208433804 681535052 215624056 577897990 295990849 352101305 991007341 319353081 260994423 978266199 921618196 493951727 476966379 566903408 816997663 562433238 338347130 229394756 396800892 796404440 827105823 429050774 351391938 152978638 965186690 341083211 311461172 623061541 811274926 297428136 594238688 700543526 319334289 668668534 726128102 802483470 833593382 524581654 918341590 466246298 132696895 299833119 361776170 272403824 733077018 550168951 840272165 435405844 318283081 202845726 876925427 322856573 473687147 973748430 815584616 768648816 583924045 470305002 974581822 380946259 524626559 916019786 116646379 583392404 532724617 877380591 423077618 798339824 845192076 523578153 380188861 896159732 428646104 578872122 198864489 181765404 257580059 540665668 906521189 734969583 398728408 299913299 961253574 173617360 524931774 647218832 241003966 551510211 466876439 576937963 108441465 184225952 464710914 213671118 747643935 876608972 311674800 344846253 499481344 649330635 712699361 975129286 574983832 551140055 268446247 778493887 717427975 449650127 115598002 995342135 613233744 785721069 533737644 481533808 341837258 898162331 110456513 353403341 252180912 333446220 986744835 607248559 516640719 445074325 210937849 601941508 542154608 834810404 694867141 599198373 973267417 781568921 199396522 320310629 405090205 437201927 444025393 218093867 288343230 727376309 113055650 389968006 500247262 797020250 715335050 183727369 940701152 515310282 482828620 573567621 932058941 740098142 974480231 355711261 653966595 304314504 218274608 141733018 444857195 701537289 219851286 942897764 303545922 485777184 974625813 432491028 464930799 145118696 263867176 880076764 382723600 462341947 956970669 527941441 605046482 183047516 954242542 572840226 469510974 999918213 981429235 699117562 885100299 399324993 363079206 144304016 992837110 329895541 670337700 505668482 825017421 593046314 108845041 115597644 889270687 894478037 799000012 241298383 656533904 940066169 632319081 281953302 883842427 923733209 797389697 844520966 456996499 304822928 540557122 968886481 835381062 960633058 661589649 450295181 954845940 610379776 979070689 284679266 489870840 292313987 477527260 369615660 253357401 273714446 976442405 610464554 802878142 907807571 803251781 915373092 388554514 213435285 532883252 637797766 616961852 304746298 168651137 963260337 305477269 948799099 278735535 763183796 329259029 752575892 189853561 218234241 796261413 714862151 965831262 121027894 743369178 562641506 392135458 804912171 474493675 433219516 139098020 361003775 546309764 497072086 125493816 427798067 792546922 426732620 943579463 441136423 693730533 819202769 765823999 814656923 651346462 823137148 718424840 659547769 297884782 146131319 435506699 975968414 632455410 263517012 523021336 672047361 678536817 176678471 906131460 673819293 574566974 911168422 670884115 351621309 562618750 684818190 981105847 674153202 153007923 759086584 632679029 463634866 549422828 552618574 729408326 521957092 907647898 280867736 420845885 195380947 179569893 445113269 918167008 671639706 249534171 671263311 911393644 836298483 669286162 490818548 260788228 173975344 467952657 127359317 998603057 281563952 530674731 675177082 564316944 780584738 884113976 365142982 889515302 665527675 491642985 887912563 888024986 914799325 908942724 464637370 505547729 832844893 452096149 300122536 203997583 833648196 637773020 271272191 333693632 977511731 659889329 666682532 972807013 203303826 625731878 738606921 649856555 691781947 179524963 415660554 351841575 622962796 572584338 562106652 191600721 866764521 851459903 129311139 566001447 833293694 812351572 189912539 445407974 947097920 139024900 128990768 579984931 849588059 715187118 539727497 650259615 530348277 255006911 531289398 411747036 753690828 631479528 827917302 729130453 823010628 623809607 374800508 549406896 160186348 228805795 168232423 229578873 410144604 671646751 493554034 124482176 664450843 762694429 547884960 524655167 982864940 975448251 870848563 149802497 601942952 214823097 510368475 262677679 333799807 474290757 249623876 577302809 484756028 827488563 630668051 453420825 368245515 457166357 710601678 345411109 551439390 716499028 923992648 561144778 568517447 786908917 508286011 863632306 268769987 219898893 206905190 839727561 814435169 711543896 265958391 856137823 408339762 883892520 861643638 289469564 395063887 323384954 933277861 387248120 915251903 222509043 939706920 307461704 975015262 994257822 468239921 518668993 303391481 823624774 565070885 582593375 156387681 462899606 830704382 239687552 741105199 986156567 497912066 277775756 352254291 874496156 980590017 352540226 266106850 922216311 870412068 592763763 495402544 355939008 709187821 537237538 874326219 324453730 100886835 471563952 460250106 590487387 336171335 252911658 148295311 979329754 215611374 728383592 111503408 825294980 301382566 440791789 817471971 607718876 734517245 335374106 620675312 947613507 907433141 944731098 343680614 483735901 498747881 438436374 905968738 590352095 142548622 449591802 318533669 380234738 565082951 916755253 859051761 857338528 227153033 643429003 862193550 172048569 535600288 966747303 626242419 688295439 252502785 880462805 360727648 524561983 482887630 122635784 234005069 699298845 269992591 156216313 742262708 687416443 284771850 246089019 170457622 395747227 631163371 955984677 252830056 725944938 838361215 887674008 692688088 271199532 990537779 709568626 573562063 901329193 181640753 411696499 287736326 389936035 927553730 915592909 949525353 231095215 502786473 202781270 656402448 672636701 533792616 776253261 758133416 629549593 728352803 265867213 239107632 885131353 676029296 333031573 901086994 614727832 787875315 146933352 660756014 427107747 403010775 458362092 492407908 276252916 584879760 222839237 168546224 985331361 863573985 242292374 898120304 263809448 678297191 488942511 460449079 698861112 364651970 689363935 388877020 845532203 833468888 238853097 114498762 356801373 933048241 267976917 458108064 328499157 209887895 299479277 669640763 184759486 669239497 288160985 853415274 681532253 961384037 729829902 427628220 912209635 976346973 148769597 173241801 125554020 427465661 812824589 984769360 419893602 160844769 193078280 952678991 528304880 642379332 516146328 181346667 174684311 901088353 801593674 316329042 887642152 636393736 398971163 445258503 618746095 757178625 991322287 260491005 216641436 360696432 713534224 816932940 676370382 729125634 201081700 507287455 522785966 362870890 340438167 949961801 161477329 792347803 940267226 524021367 370349242 249269352 225868912 624006052 954688310 873245689 849679403 968233200 809647549 695076398 606265800 757962771 766941544 832845768 320337275 814086186 187903595 993588111 322414976 954829832 356000282 136755658 802249951 633424638 952240288 820295079 338482959 533595367 280950670 852029165 845994878 837056098 826794111 891782556 355814579 841848253 255557103 158654959 840573675 202406385 186234912 320892051 950054654 855490003 742333554 654915837 966456430 610375215 128593489 834871658 474177225 876897992 281748736 541433720 377561472 962730024 555655001 136670605 766019703 847081713 634522927 759217709 342671493 233743524 791439174 167043540 132797221 443225100 637302958 860915532 463342193 750143638 300106936 563321358 859735447 335914867 530258377 963376665 524992600 165446053 818189069 743842379 519027797 570191856 159595166 455191015 937237478 341799571 162250090 992745155 396285481 871889747 359550643 573285033 774085737 451678704 452073954 902610563 748415947 766605441 739994881 678524156 381710063 183881954 255573853 275167430 858246527 147645021 580827321 616762734 862777428 133883896 540080862 209254432 178272998 354677173 592765640 449170239 637674500 918996913 720944038 928635341 202983583 961553983 519404286 299592623 473066171 695913537 609617142 313208706 577085796 231101355 131399899 489957692 749671972 159877258 601542995 440664786 319375758 798431126 123637341 235067525 462884793 360879475 106959309 917533688 306652870 381818846 209704935 686869430 393713477 545877815 602122218 467840903 412644489 352376162 169344383 520826983 203185581 389553273 510550223 860791405 922759357 572774869 438099215 188132238 639321028 273997814 142738598 720462831 349326918 816203004 501661793 594337891 333174627 786064013 105803705 798480081 739901255 863688964 653419232 366500545 878662756 883350840 212100273 754553187 101806864 951438544 946055844 520045760 336771860 791698748 653236871 808618579 264498706 749797725 715538510 235317042 506159289 943182967 632046224 873599035 383564022 863938088 567731544 600608380 994830838 744841538 606968849 776004670 603676480 208784455 608999287 453030751 297408574 525233492 987858953 841991476 858717729 579502625 320704156 343411684 656754930 506578661 171886218 562667235 289201970 141151456 571833197 449544732 535478044 706181531 917410417 493520062 505984362 449622106 541311080 738375512 861811935 921824702 954118967 877876798 741240498 635211270 185275384 427951393 117460039 995073695 801791465 762662250 297889775 508623289 553168695 698801378 767950367 136371371 570036651 942808574 565891615 108770972 856846495 375726414 460373108 807011391 661720349 494000265 516292816 203233544 872405686 313886955 356930189 264233357 408992214 627449044 446826881 822802717 101629957 547308551 732720429 528995372 722411917 913941000 864064052 198435429 645170975 260801825 413278214 235326779 226650756 801710066 726489898 331124187 113813247 770958850 202742998 949855116 548996919 329338454 786781533 641714731 967315569 341222444 266864941 511269893 813416538 854230120 664326269 770118121 938630558 215809827 705423310 558624363 143817323 823747664 349521803 210560772 607605234 532089365 311035872 757483354 847729106 688602177 908708358 839366339 490549687 909765440 988172882 555077828 186802585 674794790 348732007 744376901 435543553 821260812 499705992 388866888 166648112 208118334 949271223 819019941 452383697 155369213 867510486 220998901 349572012 787658092 289084800 218528400 327661748 865901967 193525944 408134993 669750180 214023198 164741317 141303095 980285601 372435257 728020142 690062347 629527444 847136952 253778580 920625802 422483275 119973682 640415802 943790374 865255522 904000893 105881980 284131194 311172771 991656982 874911726 647353964 600660787 148475048 301110819 849246479 379971889 503357753 825400848 852012614 858579378 521273708 371581442 662128691 858763866 575499643 891658974 869418360 308717120 436329335 602196204 774852450 702446982 850523855 628853116 696878632 881283914 421714961 173910085 375511214 227287703 433813028 998131057 912944024 473007229 430307821 565395005 444928750 561911176 968009210 992689799 851132782 926804508 461576222 781975764 150913213 177777396 384131707 494801218 933112802 188833290 418291998 229078085 107530961 352064281 805438887 653218642 337610028 892423171 980493820 522246496 114916313 220827258 700155377 762531436 817286504 276071998 546814947 173127695 161173240 840045345 871064101 832311920 580012864 304404774 591618412 774276673 458670055 384515524 252616286 577499900 599383796 266282255 359048628 264820553 703371496 677812677 320856838 132385152 846319826 696603582 587298789 911327898 664333968 474314555 501823160 472670107 965383340 936868083 129846848 577254555 251297777 963301723 155064207 130065569 629393763 151026122 269569827 992129967 383902307 620859879 401969378 842492376 888614302 480185859 950370838 341780936 723078899 456465545 333514002 108140603 680281996 391011198 759036934 504220630 155340760 619007895 769211354 492118703 360407535 367029446 589218203 540056723 757484635 929618189 101483920 276130715 581121346 656120244 825083883 269189731 216921145 380714260 187849832 498379172 461874163 131513464 172838742 134659027 323702751 119983314 740307336 748097961 700931309 860694239 468515309 796453060 237839459 967107245 268564531 666972883 390683670 821590676 864235932 522769033 354028650 444059519 390332840 863784504 847170189 819022826 461173017 118729214 144027494 552738157 127402804 651747542 729346234 288093926 777228522 435756155 104652745 537802506 821255787 304566092 512649908 852573171 712401935 268186900 914100268 243708846 572226075 769717238 265013806 989739279 734669011 667186572 486153933 289296511 831715349 760827478 593749032 492530191 159888531 734771551 908031604 835790931 130041127 372858823 489594653 340179088 718479813 304596338 871064913 923104934 300165793 362826034 372989926 973708268 586273227 468306317 144382225 133006763 526007912 461794034 890418304 412884759 862892644 515928041 170245802 355903752 731291642 670692506 453160132 301337866 493435444 937509325 163210688 584043020 459867130 866914924 575220788 588778241 154559086 284372240 326735402 706521225 429609135 737231694 468590374 573473740 347093369 938294353 935707511 949782920 184138703 163457399 749624754 138181113 991383970 940162413 603951131 307733973 173366953 158127730 876621069 542601032 852737678 655030692 958337027 469615864 110268484 307072250 433218903 144237803 639716469 777079272 109945480 411378042 877954533 112452549 212679311 404595494 295295305 299830216 798258823 271236758 811934602 702069657 361809313 550590962 182488550 429227158 178853391 965718890 139478809 342879430 290692237 160181781 680307764 198208964 172231000 418830246 656302041 761993212 729921534 173865217 672573146 314218275 505799904 974796326 772881268 408651879 487241681 275478404 808166927 957332315 862770544 589547003 149840622 503189411 904276947 407003436 152724425 716874998 846381686 839117653 546119822 294352989 714043974 607979758 596811187 917991420 211161083 382256605 349393075 412559462 476721605 312574898 791656374 435859268 254887536 491018755 246525098 235073063 509499495 550779505 463019458 936331522 135024765 952564174 143919973 275720867 195234957 129516553 466849965 380508653 101392608 194246999 512925794 259421659 763108070 733141761 833209847 976081904 607167069 208470540 694156437 540641626 773001276 396517072 991012442 165927942 116018860 850782094 409637025 441222752 519822946 132828455 321349622 643751686 442335634 277213746 369284357 460739394 186479534 846965489 503943562 571734078 300030379 283773482 958557451 143092467 734719000 828501248 151091142 708365415 790645916 911448091 559019645 766392281 634132248 927980455 869998410 870412341 403602946 957956578 833959016 525988520 561030525 598255415 315953341 623381880 458575356 276293100 729184488 307777980 825589553 571904263 710760922 302775269 548368845 470454011 977429438 727452112 404077701 160356078 402729494 123131931 810008372 800506763 937120189 621091824 303482130 128425685 208085017 238031467 812356865 495983164 339103212 678307721 549999442 699891741 164557922 812604100 535111531 997387625 914395587 149165744 127656567 287079000 339519866 999536024 535719141 593657897 949110787 125589946 420113246 432974288 420016609 799802022 958521547 608165377 322802726 189124762 886550521 573541163 133775682 799660193 427939718 613490947 674201424 762224664 918183986 206152382 722433030 819997198 441380169 527635467 723740785 500751705 137927499 667776046 121415888 647304184 220239837 330337202 437562435 193887144 754222603 813994150 784239032 873532438 154053264 661172488 203161527 305961693 430024598 674194532 316785729 806342837 452864610 672182958 952079566 487827781 400701746 328549016 135558304 374376846 825293046 222927627 546683942 726626757 870162404 103973082 971079353 714720204 120735743 828176559 208701746 988317364 363157860 836536589 515734637 640975288 204274949 965726875 547357613 183136109 820713679 119176254 796250825 941307683 404689576 619633646 386715836 844355702 565583998 586962216 452146943 195266422 849504246 483579517 853584731 700966187 651047681 404036311 501178445 796826381 402240620 721241709 839678017 610484978 178377058 450217683 657665238 422751948 445318586 427729984 810504800 145384981 601358298 844982617 442360550 408871705 193880662 589502619 916900847 501779561 389343194 105056973 416523883 789331695 274326033 764979610 669428602 742205996 757827611 139003250 378029190 738209688 147335750 894904962 172491678 670061513 708466852 517779475 226514482 126949711 868996121 875613069 565249364 962559630 190898152 421198650 753068543 548733275 932095700 590255976 942592733 446187265 693157410 654221478 136834895 744912178 453284837 161747031 739267724 855103973 862268670 302088608 895111000 318690359 826185636 966991010 742674411 481599858 410740190 859966698 366767268 741487175 873101237 642606149 795241270 131711285 321237749 642690164 575491823 824150651 411948744 303002364 105937931 386049110 471519444 733058789 536285423 772547647 162955512 572636933 861240384 492834088 280734166 727354644 967835298 483875121 419807669 291860989 330153829 686359634 622652670 138162525 690615992 230938493 370399277 547679461 244090149 697833482 160967662 501091100 894833714 315654958 535873581 711301700 317111984 538001195 731974074 131107042 836773522 782510004 257008475 784348687 706645491 258337000 175132375 473277519 167525632 254806754 542812601 990782317 890688107 671153596 434979613 263210618 460081701 939690421 986977915 213490280 717798879 749843181 362223030 360694883 491461022 261179790 538904348 309138712 731133326 315635229 816356761 247112902 625576224 400515647 317798815 326715239 281678333 548184971 774274819 488712887 947961939 458167932 904280859 919958063 685774106 274625985 693008731 404040138 137611483 577598076 106538093 483002214 609659088 582410555 937907878 852827126 244575683 174211493 693478564 830282766 557780238 256369338 570377759 118249034 328567663 979760069 691385664 399150659 908346477 664025227 979130871 546063099 347585016 751477799 966557700 362115016 176475358 990274571 426279554 922477059 607358224 390568046 531891725 504858091 861974172 983077264 869395008 305993704 151208971 570300539 657453352 370633299 900797998 620752183 214883132 505015328 925752628 584056284 678656742 256861470 925740950 585161225 705841407 609520982 385772475 517141623 897965472 188397286 834025084 721953020 865699951 985699340 378105928 707432389 574619066 347621578 270097724 517670379 553482021 425504742 254429945 593420497 246711367 161394123 375226219 307267498 865039718 927489932 629068499 142508787 637020123 616337638 443034095 619055125 589825711 840418479 840705394 327282316 368030282 157642101 485084324 781034513 558536832 813868164 197139091 271373128 260380884 949571697 174702216 836825268 207059336 626754037 534421602 812211098 917679752 107620056 419818440 907070067 660508750 242443250 808433114 766777874 985102388 379170549 978357394 461565446 171855937 227065491 276189921 218762310 310708574 890716507 899182268 170630459 221587354 461561137 357474494 110479896 887132415 311611052 316970234 414104289 800071158 785373022 191223392 223828685 608537242 240157320 374457196 744402690 443920258 912539751 102120640 587900951 947878026 876325767 452886706 361444602 266486171 233436670 737753411 546747099 313755355 638771189 993640657 414152925 705770478 916179507 160954595 202125209 850638410 334994082 986771334 788197528 439226937 749553632 970032758 467288254 264372486 220064280 626699503 994856019 208899336 716025886 238502967 813092297 310492123 138457947 592113460 805291205 719410528 953547062 512838247 267137514 423415004 448614826 101609511 438707627 812866650 890272501 424276768 479100463 783282493 606547554 826600983 276604180 748733888 474754740 207892960 462193464 804757253 156802778 430656157 772327091 148693689 209696646 580928305 485072891 686374610 843636912 958711659 502250494 111570072 671307382 716383672 639734114 765232939 793460756 907636679 502553290 382617884 621047611 318125703 731697344 215636901 945261669 109227428 250784058 944569780 536751260 587988319 902297246 832227220 461506062 353886617 503087842 853800755 156436121 288244342 899711572 661723758 662149619 730125421 613157957 627025227 796670188 453774132 794745614 521958860 715792803 353687034 714172493 984608675 694892042 284371137 618050815 654807273 894122659 329287032 400614957 662987002 718291684 747649757 365138627 949456052 812465350 983934697 136005835 628021314 915348441 494179579 859119598 667450583 595640722 457048429 976703983 586433220 793764374 798633873 278215793 796997771 573936315 143313223 614265102 544946133 892626261 625222561 168121879 823117035 336857041 831230793 770008720 888665254 740376659 624862808 496740478 395654242 129731145 831032134 711929461 281879628 271953367 553494591 105592487 124864898 273111975 980170074 930413424 994440256 432112032 979835769 914701771 324133491 754001502 212373842 140661877 684261009 955112835 511940927 650702415 262064627 227370862 570374027 753942540 592455301 106277174 406983735 795257070 413765501 132812586 945425936 897969140 762949454 961268007 675620091 588699644 561811031 333455815 368075171 434532057 349896776 352746431 817033395 661186946 610776787 897426695 408866359 165749754 699398226 204449516 254965589 464578004 912472125 559198719 700509163 616976051 355701519 101414330 743498472 492917304 948083835 361022025 910842253 204554588 864821197 427893874 556535785 510017846 631987771 366022910 266187211 563912962 861429369 940385438 961926582 723217707 276405234 886932430 705808323 887652072 371194213 823196301 934281365 971030041 617239897 854232439 744993407 791108357 304854294 782322500 636624420 595957285 170739361 738961600 324583912 944153336 985345984 110693669 438298224 106144718 357827025 334664593 295509473 899329047 155000994 771696845 772575267 620882638 658581535 286507801 214021055 948348736 250850749 256917572 787874450 822982035 912009539 184121213 272017928 769480975 345508588 215310864 250616086 202141906 625058672 405730678 958420361 876944845 554531097 666823661 460324253 755825586 628103541 515922732 640726878 533731312 711515093 325078447 524019899 566965755 292480778 875413439 877257712 388801761 137067150 954250567 274197089 961447036 657765385 793503000 820329088 792168597 539278859 119306477 164283905 268238653 482695785 473101529 165849587 565708878 285096313 668853557 170869969 622256378 791966367 501416797 403580661 770495455 365889787 581251305 608584557 701105437 261898362 566834473 704292076 631397590 952698100 264863693 128049554 752084331 440360301 162492050 261677688 932571134 430427227 264182072 921486760 521780249 257899319 432218246 802654338 135871515 248418230 644623250 708161022 184270954 744581807 139487057 149506004 509576725 213640008 377607955 717404173 686975435 841924276 702348070 288107101 384673477 224640349 875595359 794427956 274236474 505494881 933740468 447119928 725466998 945246926 264375101 692513664 267220733 280944137 807465942 796180561 647393001 516922549 158538329 983576678 337933460 757541530 968603615 892028683 536040506 673520180 356100918 281061377 642137328 896071120 864019169 377142312 654099333 606610653 351051644 792892242 198573378 437286674 165686039 132613676 965748757 379155023 597795270 570696392 594244790 520884541 129143269 105429059 585835746 867946459 799098891 724375187 586638248 162980999 814818293 694036255 562402705 620849278 800115093 893753075 859282002 484068832 764184705 178935322 824672426 746212535 215488397 909151495 824976535 726200155 730520606 265653152 367498388 749157477 871902351 449715010 318049721 979942480 974888520 636077209 476891518 658704857 894221445 870872903 100439711 437867482 484086280 633945240 237740052 725339376 474668525 612041602 317153838 363299186 404844571 868222218 719748117 126741991 929086761 197038575 987724332 486774556 512006042 956608475 753860083 208106254 992214573 333729236 991108096 825976758 883062701 342833123 694925261 502234673 856227871 599388218 823628024 548583038 964778154 904694113 879139349 897240636 559355170 837557080 694282306 881043495 690331204 303775838 393395204 188887823 624091997 362784515 384037084 607324356 785589984 241676694 344732353 466519240 910533791 984515156 558198445 297286064 499934576 522325691 296807394 873759902 492860849 381015745 104965781 398359552 716493344 167844214 390523786 214278707 422671546 953355209 438918242 540239253 264192018 112068853 475985269 256236649 383744043 782440690 694011090 500994720 325184159 981385737 147466562 660717252 872596805 920705440 935593976 762242572 860589303 939519222 847179772 876919907 696840957 891849809 980826432 288960699 438446263 101419934 557670674 811614206 112320150 369012982 735093389 711930740 765673472 798253614 142110708 541525713 855630468 455131230 676212882 410893840 235984882 551086666 199569437 612250593 962370889 757138835 283569076 365559194 415533742 297718126 460828878 554440927 792559955 880621486 204704683 225477623 440105157 252906555 914709820 621976874 770623507 771735208 434151730 457211183 119308277 318656734 636492131 579458801 588354515 322054590 228323844 877072226 352289040 460314691 645827984 843708135 710169675 789827977 766183430 950316546 307298623 976249538 938366603 322167285 779517782 523490246 998157835 769048555 594452676 218389750 944900199 165974454 362057384 476832321 170831347 685793462 515836770 941736638 736791634 781806235 355679708 336834937 542400745 152446695 469211517 442555199 979110650 100537216 530014614 905040575 386558708 267798671 672706032 473303603 143904454 732060823 158436114 913812677 665567456 224654998 204695087 626198576 420063436 209702674 987839134 394373937 477319946 861651586 182012688 615894831 930296172 188450262 190542866 133271409 924056115 680670814 224954157 295184488 611633802 321109465 451335009 714666365 449417198 692962779 833743977 408359704 275990731 953527345 492547997 511452518 444731314 401950547 332009896 180089775 925044114 615895506 599565330 124234803 777681342 360865169 297956062 347532422 305070350 251201405 455318817 589132275 154330882 344632816 672856930 788540912 147959997 184153127 769149416 526139695 396331066 432695576 694074939 883256229 596859009 505770908 780252976 100074946 687499165 939488592 949058298 770709339 472983289 557720672 707941674 990551246 208468234 256681178 519286930 733937213 411846451 708804838 563013473 718762961 728978161 659773570 106683070 825270208 394247935 757862327 908339606 132063209 556671042 807157101 629084711 867517815 356070078 426776651 886515244 276690850 395615952 883403774 626223940 219126205 799233149 800575053 325136992 375172063 157716832 349440346 176625584 388258606 149041442 997122834 473517816 323261983 219609644 405585017 168348098 783145712 861519035 772143543 655979327 587917656 409920585 749551044 306451421 572666515 589492122 919560662 365917919 150415337 887838860 483344800 895262848 722896044 212308373 576344757 544796784 916813954 424718228 546256817 367557467 186766595 246302367 614524617 760544247 643930371 837793536 194490823 483619779 635631910 211239420 406506635 155078288 120237013 444034958 502539266 910320270 215417353 166249464 383546153 716569716 584439439 438058709 237783675 459503182 478638398 567221075 111697463 416971155 673605591 786554256 361474531 349521317 299208784 743342956 846341214 774131505 543092745 409719682 861082308 166393824 766786593 450898767 390928192 104336982 186941982 647225414 409149260 773041038 938109595 758986398 433748430 800781534 460186400 179646821 723320736 932359046 348957529 661798594 189145722 754915927 497805741 946977717 983903777 746423303 270948928 316926655 663206073 349466702 283536009 301138900 476365516 288142915 606196308 178489215 563950556 486016561 865689054 863563755 181647446 574628171 204099405 793570446 239461971 906383520 530551361 371494468 889594739 291344719 883916502 172411788 758339818 125046641 824713447 856828141 586616754 105946801 295586483 393729648 693980270 810477647 208127865 538247705 283117263 179814715 405096732 821000911 997228822 721502349 800253564 904171119 473418859 960880061 497611396 531322965 795773325 999975597 591468038 672889726 934708007 875778421 510843373 448768313 293201420 862702016 202441157 354425983 343031319 639538764 825811497 210374139 655115104 636392347 639036949 484856078 657804270 250128088 171280699 894447939 417475687 653430451 842059856 850117766 845185424 401751732 647847632 953225139 178172049 533888305 245940053 267294400 450535651 573093132 141433386 882913638 752861933 287333551 640868021 694474406 521159529 921461066 922340506 841738904 918095703 345549903 897685067 387332680 781617050 698739080 100328456 555183800 605495502 335377157 249169621 942655307 742644584 241671233 169926571 661176348 478385755 729002841 298116137 374450690 675642206 906026047 944079353 386648013 854298537 396514138 378265999 621404254 520271107 525368177 922132087 361718805 846214014 445337368 301589647 951423217 914732665 806995911 924034430 363757495 342566433 889925077 540255156 207449883 335622668 132676717 490095147 351309017 226417101 921946132 266168648 798595428 446449285 991388173 830116775 816713010 627037269 474892396 299608003 633953684 309710137 454757323 509831265 101104857 212411553 412869275 282037793 909227837 744939581 611569525 179244122 773835641 439643331 753784388 302550053 900246252 120849641 588662471 248783714 326514968 373674078 861107644 922865705 339741014 838085944 752866217 897061045 356038631 417609336 965792252 845833370 942212455 931055805 580649226 361924586 623791268 237155463 112350571 651458706 710391404 324670610 199891888 424083777 217015120 966740409 112274832 260094868 493494314 404128650 897559440 155188658 339913409 125898140 379070063 875498943 677190679 929174565 332496953 224092253 723105496 279510587 427839339 251183765 940742453 110949817 367077612 342245008 962523810 297418401 258756658 981939137 731343409 830042588 829053482 623896256 260723217 758073631 286609989 102644360 859996683 685734453 546111240 820972489 367043559 440943721 496313835 950646958 112218226 233718870 149212384 155725618 526027555 140849477 632073525 151642932 225709706 956323079 183534346 739891699 404069223 125019163 150643853 995481166 644356552 957278243 355843819 507006131 752319707 293394503 682374325 889591018 725032487 262686375 557245655 635803012 493523951 136991720 594850400 906676996 810872737 496911786 881220922 160343818 442444258 545836183 219401035 434715702 547048359 852474384 724223684 244631532 665674143 999678723 359818698 841315093 852399099 989433609 961407887 874616556 834357637 452733308 294660112 533129025 758967284 159091715 738157463 588610314 629130745 889503287 417243427 780901752 802090165 945674383 663711143 304250892 912761872 274758505 730657744 927288005 763576158 826099992 403507911 905299121 962758697 486896284 411443646 858715482 708969435 256388374 575051391 735717287 384855267 523345334 575849595 304455985 744026100 822282921 824990831 242399707 738850049 407236209 936035071 861747336 552695141 797561023 703430088 743155349 144482955 849039464 854722119 977602993 602568812 847678797 524008785 721122154 129943569 428350301 695039770 565105699 415718613 306256603 555559041 879374910 537938959 555557177 534239294 606522067 370832984 348854520 569282453 699223698 828661337 626543672 737597010 482451630 942205764 613675981 942637948 511671590 282562328 143104008 560579362 874143026 528771063 659999168 972779414 837351255 715908001 205287477 863143887 504878901 579514722 413049149 818453122 669307129 363650551 473642610 358007691 540696286 949375365 538537785 257929294 799531736 514573249 646680078 136923150 714942481 278169129 266114363 149625880 790465200 476506734 994441889 960083590 636845485 521446845 473133732 737077749 917557545 573394877 242120546 955131203 260110585 992589621 566635813 184737831 478189521 124268104 880892908 887051978 727187719 584587039 450882798 760373636 714583917 157631033 427929965 815360559 760781541 816709390 144337171 476158099 495682310 651556535 171659888 737743779 811270108 474789163 382174564 602916159 188863349 213734987 913254919 506763582 741542601 382292404 744829404 227939293 414803760 316506632 881284365 773055051 850755226 234984591 791707054 444740665 428324922 773286072 923083674 683451055 467174147 518950684 909415444 827786790 171330494 478063563 298539753 463508259 377944785 280352370 624978156 630501190 630961916 422087727 394735358 204557842 784923810 486929667 911035627 455047002 512601092 363893528 635424094 216398074 822216057 527408989 455782470 632433913 198875234 844271634 414724862 432657210 447760015 544023966 979925090 701889596 957751573 672142840 381379861 732544021 760904793 226358971 300250004 746171031 979462423 448396874 159804656 473301831 993623237 967912325 125495744 365897433 107626551 627947322 219724696 127430031 444735299 534689768 860579215 549851207 129513937 480748386 665634460 415580256 290459055 926069657 155169056 238679429 710368603 670908859 300856052 726967887 158416603 739798178 919530645 745753348 417187895 340007604 733304823 112570074 535320128 460082929 748418069 716739179 984819910 333127044 113372037 979626106 157858680 216276406 197915069 392319294 272809284 804186449 222051772 298511814 217797505 546664756 223481185 263825774 311973168 884978912 662670105 505925470 375056647 656639524 783394545 609011261 246597729 424557704 646525195 749737131 325327661 202790767 879039193 260588786 981552324 442333128 546331430 289463544 924758569 866908813 565698403 398695144 157410182 967875985 878350838 992804606 640497020 554464843 541733392 281727011 940696393 652054022 569207674 568901743 251332054 992647768 203589289 487077325 293806042 984058817 207051158 391618795 607735992 135962452 856100454 586358587 914522691 102436497 725374525 408361809 166927594 771144270 740157265 615273137 254946952 647044510 605913970 907773588 723659235 872932205 242436967 755361540 876437786 194903864 801208747 572964387 153120063 184503332 913360371 257986908 813201310 155163969 883181770 564288689 939184852 550581620 827931143 351901631 417797018 500751707 867014803 666503751 354179170 666399818 671527674 276998468 725096917 880324052 677097551 960034473 866244628 579644113 558993027 545680204 856492657 737241562 138272766 209969923 853993539 388535262 265906726 344380477 607765395 568845582 310908789 567097146 744770987 173868371 583470623 517281081 912344134 189609464 216922358 814376615 824969218 304889588 999298893 657002447 357626388 451704401 526679511 685317462 776219445 171381598 435548325 955779556 484259149 362911167 894408983 218424965 666546058 370688848 757148630 438768667 230561834 658350734 936071792 592284905 943706456 607038539 601871300 911941047 921189706 320420744 702264001 920473115 735686123 305676551 608366286 288149626 166303443 943268240 411502971 989968801 114356700 276011660 612987616 124174187 909302962 948861435 398207848 436631865 799858668 889334740 278063126 501829968 869753854 648103190 187310791 670837945 448242246 615066939 315717851 522232701 541706468 431019506 378659261 650439081 145017270 624496568 973369780 221113991 851519640 281843379 274578751 219426354 498476293 774559856 383080268 773276465 853163363 983999571 574134642 451402942 737743365 996127706 633145450 366818723 907552783 453970928 568521007 425151430 581539346 218326531 403170047 217497725 373111849 388212823 241710438 128719846 429013616 287957497 979168859 377270038 280584565 908360539 728789492 155087599 193366104 579720284 926800558 926629843 227301896 697481699 643280591 412424367 698587532 398236025 790843099 730452425 237333690 703090663 129904129 401965124 675489301 996346740 138838377 743829692 194616631 286768416 581468492 845625957 479828111 686149107 827951226 488217518 301921825 253698257 558221968 990096103 618852269 991677235 799019947 576793204 922953205 712069343 289109471 540259821 623213948 383260725 262481813 531330441 395419404 239993799 992620191 277831598 151732298 340670832 915020060 552435699 528977268 923785050 526437535 604607665 298371244 660821565 595008814 912994663 647073816 814553283 853400860 463816157 921967125 835527775 268406761 401847941 219734546 860076274 228738719 148124777 451824199 631864109 838327762 921893037 515525440 372043390 410499646 979231710 181494252 910942185 680131558 852310359 629507400 990269676 850368664 844867659 941797167 505306254 150218334 736515531 682504357 339700305 474637590 650439196 473330040 525267458 830834821 248729818 930130185 278511191 473303916 645583685 446361419 132551529 472748786 947566337 608493438 682072706 931126762 659326454 222790409 576870520 830474580 501467112 147936649 355600678 724051668 749853782 618913751 713912496 246668573 362345927 224745370 643568478 749657448 857403739 196299186 129829776 123293852 779206074 141473130 416538553 162808380 711100222 796070559 204814221 287702650 281114696 861725690 290544327 595956634 781740422 402394115 238739806 331669106 590534705 267165404 811854414 916250440 230713164 463657983 472608669 339109078 310791345 493778902 837768097 559833779 308143373 883932088 832864878 410133722 305535223 603822552 293014598 219454102 690352381 791490265 656173592 606745472 406092143 893782461 422445449 266097559 568497806 628979947 101472108 315801496 611103151 263642014 963229106 652528236 888664835 545953546 715729834 275331969 890716334 275855860 516050260 780077627 332818972 471153577 830177835 687735158 285668176 828929334 262860788 470147714 874164827 635395256 918044503 819738202 215140062 669640884 917495870 166619365 764500740 524316497 114540087 633879496 780130257 547151132 763060486 316111026 219410411 534771398 715932618 197045327 651512324 355544646 705138662 562317409 225454231 259027251 715020306 879616842 784897315 367222341 810654520 711421375 657665375 154018015 778818567 852532911 882924327 328926177 348994395 939500171 419591211 645748691 958473956 612269783 818280947 978999601 540098667 811817529 434796156 389582754 840077118 763928435 881283106 192921787 181509518 193618036 279236038 402847279 639196769 274056901 948172255 497911119 491013289 935446922 884567786 552559315 381743960 665805162 170291417 374105632 695245063 610343746 332449667 513084099 797494417 229213451 267344857 791601899 261790392 820004159 734649728 187364971 778340387 720379263 935550471 861379509 907152666 821546272 213803156 558541539 618414970 846364393 714830527 373398221 744693932 943803945 759731812 908934091 566073284 933979989 630954613 787828691 402218020 491026621 583056073 501605230 998216722 846826244 434926089 408666876 339698840 752707838 479218212 702087765 507508726 831536493 370319246 900855378 191618434 156481162 426470442 450183699 617075794 964303695 144416405 786496561 593610342 175772128 571413796 309976863 163840301 626311116 228370555 276929625 682893811 162239804 329670126 335306275 511376799 940695642 916444616 858924772 563692691 621586004 388546105 250647363 437844326 144644895 723110876 541267985 527052517 189945843 802418556 167549169 450968686 360765135 726029477 729590459 535222492 929509717 279766244 167596639 691406959 455538630 353316579 218860795 660142819 734294826 201380040 200385639 438584205 362149411 794881063 328887877 472863202 660310362 877306701 699517119 663657117 994432206 188290974 863434327 216493774 938803654 888049861 994091748 320010933 690342193 430033248 735863733 850750917 211679252 992968323 686004307 506283220 952732932 700056720 699836897 597468367 623485057 966465901 877641287 582649437 532174839 860876757 732386248 222287207 404573154 811917551 948665142 595799515 694742814 272490476 756354034 145762087 558207831 963948331 126631253 211391973 538056820 934502691 473761762 858478336 296133190 899916736 485277930 963794525 309816625 316116142 564022737 509312223 716345074 984138396 272263952 691828375 226572626 404691271 491246427 115162429 107447359 674465037 683948182 953702500 623711745 408714954 117562698 744706931 769873776 490694210 436657776 456749985 551122494 519572203 543229970 199455622 253480863 399060998 261179752 304923606 310970835 249353961 100524668 345677592 153422367 271799105 829931811 996630855 470225528 702176593 368395636 480084781 489922942 395382523 919941869 343236799 975486083 936579917 132924624 554788747 678858898 570655444 232182339 942627101 779068350 241555214 635296331 903623359 553167116 846641334 254087931 167611506 373954530 150442448 595233392 193571770 691535854 877735790 525516290 712600880 836624143 307560386 126031978 147275501 125344561 946844948 633306821 217726992 733432173 186950105 702598590 639551543 555015978 221620909 272643704 453373596 950868675 479996920 951195206 152255621 503830921 224959887 760343184 814556295 663757689 232382944 207023735 582109365 999613855 659174333 870690707 192949557 492911523 597157638 575406151 383695430 796083601 134736411 921542740 685659544 317927401 129224022 320381704 813145154 341608951 822767478 387698221 479602248 789831432 798597121 611173868 377409137 957384861 138013347 243443043 317726519 145089112 870230557 293608190 828523097 868624671 284067216 703362326 532537869 353665703 362503324 176500501 929736706 558571273 333930456 752278372 206997923 814622425 982716164 521806855 334397662 934388588 865784736 813781991 811491677 406274776 791913551 467381067 983279676 323761309 885523098 264416270 710220398 905368771 309834091 673741635 937131247 108140795 721965390 385564972 364700916 473239535 458747365 259094380 531959353 565944249 749989344 450642462 795032211 266801091 835646654 496060502 881934089 456558707 171372025 592043649 253099132 286049478 312158829 118908832 489465679 372713725 206239902 503808763 456030554 560718680 367211342 122152377 239866854 337341209 517888696 405810513 804012460 890580863 546634478 794901983 605772254 640388662 903668356 768335149 938683485 224976058 349212578 618156275 542013545 756403303 358215806 284703637 336520906 548291251 789914518 877008967 503477472 372523817 284171165 421151156 418580719 257200390 934157686 857636661 563846357 952105575 279268093 869471594 258933531 399163333 819942569 715982668 412361048 346938549 777965837 166791937 740408112 129155874 301292268 605420911 162691367 890039978 308710717 536555466 302178715 425878603 273371169 465762956 423290331 520896018 458136547 385108783 680889612 695456810 917156799 278700268 661483966 427185018 339024426 980276044 661058231 360784596 765692068 466675905 366735538 169749496 535478771 121456619 507480157 869708566 510342694 847012825 764641112 171375011 204986172 110729583 628804475 830872907 406779869 697014487 858700875 198036550 860192329 736402600 981533712 196271831 770530479 722659332 564065248 237275711 609936720 688050262 632817363 209523517 861360630 178618581 670843111 103273399 319332723 823174725 838742862 649048989 599262020 709155745 923834050 949375196 157397609 489730078 926169784 797369604 368489724 631503916 354836700 276591338 107711226 752085039 367385066 481397678 614015977 350406469 382014654 469604468 493464214 339568482 994592551 493179088 798239494 535499874 182834373 129734669 846953264 563161331 670524618 896382321 136286481 644177050 137094229 563504493 949892267 522788494 339081420 516015780 413821044 521226849 919271715 715435628 347665177 361542530 820611722 679071427 215516663 321058606 553463818 400012723 116638850 132154587 480091932 186844177 471337284 869312463 898646932 175802260 301279891 406376964 677385505 453451884 679547828 805080587 185472854 348537112 940959207 424999167 804432988 868275867 342473356 101590591 651771031 720764723 509923390 909668302 120377878 543202667 849766759 406193136 463070531 111023732 666876578 893148239 977213334 906049542 926320522 505425461 135642916 731153276 673384644 764528629 635409580 152052824 587701890 640113621 810118674 407747312 982628995 575825860 322725958 176019900 545328230 994237292 893537996 297244245 261573118 203410544 210554875 537933462 594700228 238883308 594893519 163243241 236280229 701785908 391092033 821540132 560685397 315021148 318399743 960953682 807521294 881888811 902471181 350555917 562906634 941565043 220696826 251471535 229587773 896903702 157661177 983560777 732321853 167380119 697570150 384663560 231600843 997830564 729224256 780509650 104387910 454721943 158998639 418486824 682340602 152743158 147734120 850287424 509480055 463998049 580200288 396503850 611591483 820640120 560193825 576918519 852964701 901173716 610041005 686598904 603920219 987775633 441785810 391695498 960596922 115840548 374076103 776988426 521021742 151613300 365497602 600228371 629843726 917550013 409731437 714633872 711021111 639655370 900878733 641970830 417760017 856544808 999222786 740785208 398363766 375787476 470532868 669891678 843148645 589849168 497773831 392363156 329359724 943606616 693183818 355189949 233381526 750001398 778684144 359740654 831767847 910747797 894501201 615812099 329191612 187267918 636744986 496542159 512322751 962053032 991440114 656471292 780190360 178184836 162424364 978034058 480392726 703142104 339866085 630893947 967206336 165507367 876834147 209007425 972824033 823117186 657554422 266143658 564894523 332406470 367897094 842946329 402429955 396611650 438879190 433137936 734591838 331569010 949146547 845158560 471985615 643008365 375703236 432876884 156140487 749864496 628097049 898315994 985248750 586938494 606598308 852874887 287596255 946932981 727527887 774417571 507381776 188329853 524076858 944064182 593973149 828829602 205153562 433117679 961206266 948187254 156006666 481901080 249588008 881784089 227366799 287477051 343108547 182989015 204869263 975462436 128314086 255450727 273450606 819919652 164809037 734867623 682743491 381051735 879749963 379352630 571088927 295410630 197879932 345814582 512855280 891690638 673038870 372692875 960850945 848348664 342993344 223719853 403422480 605933730 836989933 549620197 557705660 549709910 781911127 268919155 537803645 270843517 935220210 220256540 999807906 822793995 939203732 246896476 620572786 364658264 181662244 355215548 141943757 758378896 958151420 860069093 314843984 115713231 387483936 639819311 705209912 344454076 282668501 669621851 150856481 472049985 953827278 136086730 207463689 121502446 880194726 941651399 853532350 969649588 712803746 798626379 184494231 290346657 226963991 424196838 133716371 456463216 694454266 304580974 933385617 928020095 255670313 975736574 822685340 525236149 433845581 362451932 121117341 114717094 173268146 883071757 135946294 958363900 913243167 530481079 834673765 961808970 858841974 954628764 908880074 692786839 219129287 518712544 796824307 219995878 375449387 157369412 660680179 240835518 293980246 384876833 659047516 982518264 676824022 433363667 153957492 885071015 328301432 566399814 964793704 272912712 511598100 473884930 170505631 813533524 978737271 240171799 837620061 210402749 439059580 309159483 905699523 298838943 106656731 789465167 293806078 479717577 169662586 876083177 425859993 445328991 389128087 846849826 627669557 132754173 658356057 277623119 601416895 424991430 357302490 928871626 702319638 299175389 719182145 903850343 633748214 476100943 148567926 534152406 868876189 156145338 110265366 161172482 139547277 249619336 897701135 104321232 438882254 462411761 721589350 209758269 551528532 467921830 279169316 828630579 382440269 928393010 698758310 499061036 530633577 305469545 173724918 440435825 862892946 410678871 538648308 951732679 763108558 811227795 292257745 567863895 145288744 462868429 827320359 379754384 138618175 308494446 941538127 332270699 767365781 159825919 787177273 151577247 296717859 208382755 562835697 972836546 397895614 849653067 940866642 809368762 369015447 757575734 908344426 841520807 104825187 641153412 983393773 236685240 174630295 344030368 347716177 824747682 810064345 636817449 805580212 238357962 694246568 428167156 666701074 615786588 685023115 277862320 449440522 284665239 143693521 530434679 239860486 620986564 821538518 869102625 435204260 537386873 748011708 730064227 266714291 743664535 394411107 886429485 198670136 170531604 785884565 767598772 123718713 797253648 316387070 496347890 237432410 110192124 930009524 370233938 655839644 926213240 568012426 728254559 569564465 868887062 270109700 574469912 289409898 623292848 270765304 486167481 175282079 807508395 564219089 946371773 369732927 881938540 876132216 887785152 863576260 740368480 748003147 925179219 889242230 835049802 929040941 325850181 686621462 697037016 828021101 901454336 220525483 787209354 989384927 466383366 829299847 392739301 350608906 795653367 984067461 915976573 736124917 286173322 408614161 352305453 116203166 265975664 166445760 626858370 851975110 991108004 197886797 833405625 172526494 172073087 276670419 707379393 255322583 175614829 635431243 393988851 861182569 231637070 421854060 266290424 391105016 521358101 186373896 862802459 249180022 532169103 453893587 287666848 541015541 282540983 722794055 825435222 684532866 227120001 450552315 729496689 118262820 103831798 116749815 238973304 173851681 402387356 304179394 917144681 292406982 510375185 308380717 460914375 484597125 240455175 917709108 695894093 369841052 115558454 838916698 361015138 946647778 956043972 839568542 973393821 872861889 393404117 111942092 292234372 700798881 962430449 142186116 549218085 806989662 787470633 463127762 913973281 343752505 640403683 912592696 860609016 976112788 789767980 585003048 525977466 893809385 262250496 601217112 340108438 263357384 103678289 995621018 492339992 210998598 238639650 375856604 609719667 441232424 350754202 792628579 394476642 242396909 636158895 303695540 191104432 763363137 565708390 360117397 385335164 695029987 668853364 342023615 213939389 240611676 277717490 801409627 531481158 182471027 457793804 313509031 745207356 301425561 915851502 639065612 854004694 603536687 844215125 875671528 826453507 302082586 306905055 724200984 961923843 660458674 654837560 619046037 836344729 429778138 601009064 362418534 666997043 939862623 925346554 276517439 400596247 516040849 620617886 964970549 380033600 547875529 134767151 552704762 246291109 280526938 436707617 174819006 913813020 898433892 999625715 587274091 809093301 986401994 625884694 325056537 454674395 292011474 622653643 941798077 302168976 462894294 308187806 349741361 709657070 355965409 276390495 876125623 138440085 977797569 947378207 315644401 392456343 100574906 158305754 608385082 484117277 600491475 285627977 814266891 134396221 228421223 798300370 919424949 409568527 587227852 818893543 984483388 424215706 435680763 136279067 322181442 286233073 629576943 484479683 263903292 178218653 717644859 517272061 209481757 303191635 320091186 198380687 541384977 465118785 931509511 774135368 524079182 354757497 142653663 239615812 917857469 468246253 484934127 211504414 219439254 460211725 112352639 633418096 721195723 546156179 862647144 203813604 114362611 565988647 103117413 111465921 308094725 737973558 210805219 932557245 406455486 624762473 692040908 369717051 413104958 632152936 313937039 620316736 196058758 964411880 526649596 889968275 275174328 183070207 377422222 269054660 309230655 756206279 265102249 362699867 984283786 132053565 100036672 236061819 937268104 492014620 607222892 392553051 571532786 702200253 916708254 578497890 729510234 977879596 985976548 561551436 198181266 483252421 984457901 532530319 559886019 349218907 543627913 423959624 417636151 206047562 893914510 983302593 700595725 678897147 803655772 714269319 476071138 488413587 451316539 353132579 334933477 319861487 737749649 137800177 256268316 674532529 686268900 802443792 614667684 574486397 906110232 137804212 466325570 208411439 705785621 469815801 970180006 479293866 269232389 342454151 927563270 539944927 845203556 939565503 888995435 153003042 763709323 185011572 260098238 552301423 268317899 154005771 709408611 321235526 788939751 432420102 564232976 892727694 864525620 457823361 949899077 768362295 560667301 372236717 865106149 216926326 715674593 689588511 528251997 818074186 129386820 727594306 140085723 898034106 994488215 658514608 744779113 541632267 430516271 342043955 325443935 883191612 776314861 799448174 813680634 137974761 853022605 948770989 769789498 566351885 803717817 552648910 603646576 278922523 624799074 834124341 556463547 847631783 212099518 938876200 908790230 657003011 115555803 723982094 818083926 693042448 841370589 214524247 829097603 316314826 472442211 997332813 990402569 743945974 429846125 274646098 724114649 987374741 663927482 323720340 846314228 379837703 257487880 180321675 527275053 594258368 820270645 986569711 972406382 268874666 750653504 844882478 813861399 884114233 629672552 207946604 733140161 382962053 167045767 232086401 334351240 504723037 625071456 589496272 208691144 932198949 485366547 967061124 306633726 247186468 292578580 486937352 302692691 769328125 941630669 959274246 541330926 427510887 122564960 114537783 861664468 584543243 518137562 389124618 888327406 917613000 478819948 887653681 156403099 695301143 120676472 294920196 776419367 541299040 936307322 731955466 474705838 612111498 976473377 276734802 414350600 512095008 436350826 790961662 865333991 440106029 163219732 612622774 801939259 643173343 274696517 624648936 499264524 631286460 943854279 547221016 399836125 928717472 315851885 272822336 503861442 900711836 197057243 562167862 647174576 335931964 486156485 845890105 135488105 759751504 680422035 995723783 449064356 930291680 900469366 754665884 132895849 517448847 551088491 100399011 402986459 696787399 666774204 125165157 724597780 531040126 413531040 982056758 708871718 644971023 291534459 907785198 476055623 929930617 219158930 497230799 890788378 876536547 755136072 964674714 547932288 212600822 117690188 848196500 643067771 391728302 731557181 502940884 357096445 846582271 109393767 718230286 723489598 307365652 564186893 856428284 280088867 601864424 893810465 630866307 332067878 799871559 209439710 166717866 939406143 839718376 686322859 212260436 480682753 876352280 625783910 508620399 958654119 922346072 449138662 146284150 316714351 354973382 787866109 150868882 128084605 462562677 320178901 695822479 983659010 831590567 182859812 735545172 373323904 269759521 605086241 711119521 590225956 530325283 343584085 969699876 648449459 913777542 389379260 201300771 168294589 496724922 265437516 399127104 817284354 351680916 288395444 704564948 999007451 361455621 402671302 954299863 841732903 331318231 162811391 921252435 423289591 184707350 939571820 219399871 191282079 563579230 159889125 296812685 182796686 816238027 268186069 439960567 547746045 509763836 716202085 988232539 804218549 644427958 116099539 872207149 556409336 701484422 501294799 295887655 326254700 681724703 692807693 149833364 139963374 986957367 105754354 919669506 290397333 877869918 268675997 829557364 410135795 957868602 310209830 581715175 464237829 261291504 715538889 888918083 651853763 856373259 166378539 514549324 725753275 851760130 623336847 386779044 933159522 736716524 222567743 727550408 555246728 348246247 101961055 414257761 672658521 105007002 422074528 606259689 221888813 591361703 446427666 544745749 659083104 200351515 440141761 448250096 353375461 100337537 379878363 901720128 204596568 451828629 889060492 878062035 917956530 537435380 137037112 554491722 996330111 264372358 232395805 999402432 925956406 313307408 943330363 796046013 782555163 422622042 764913048 714969483 943088872 258860011 851519457 566847383 758864210 555117678 230203384 308331920 312039810 289513488 858156628 419151610 393540611 554409325 449862456 526810786 989546590 943664197 326312846 290280870 789986095 530661381 432767775 132350800 815328631 680331926 164574207 821713347 143893252 734332106 740830415 622376840 789497496 882497906 425464001 270364879 692904800 888324017 612850643 492727366 238225352 370997141 629849516 694181717 787929545 126681102 434963940 136174315 365356195 885076775 817864625 601105764 712473693 432333929 844613193 350522640 204662881 515942960 882363968 713317950 263610423 151032804 297997719 805885035 406666900 872560405 902483874 438143933 227281104 758200581 849519769 214778377 646206542 653782946 702835043 189695908 562499812 883009645 156888688 822563297 774677046 595044057 362836223 215925877 304899841 956876520 928350404 509322986 357086647 984409495 120964129 717327170 204066941 796835538 659629341 409856149 586707133 804432056 912156795 938003716 472147213 206987204 521440720 290408156 470212226 109458874 141249684 959103471 219868939 620172159 289529513 603053950 472330618 620344169 137571203 498498188 986459989 244614397 983675080 461395796 919341218 678360109 185944048 121292480 201716071 845649738 715305518 801427250 285262133 711374744 233366046 920853055 737754820 873447923 444663470 169270202 606934723 827469727 108989184 398703074 953132591 573456441 520047645 266065168 605357288 402784476 529074357 719993145 840262554 712982980 187207247 259069376 373365333 722584231 172113132 338623859 797139928 243545613 236929240 728956138 280424369 117791612 294944834 736856268 931935222 915353290 999653212 314420615 518378514 787532305 903046423 189930018 209340253 383703989 912613917 539156179 409273013 413780287 930708150 922567954 531180918 426417628 110132450 912907000 783824247 686893273 466325790 747673787 415037554 853123623 728584589 830542300 812596241 958415608 749829589 300598572 738151264 786416436 535425509 690074116 343823671 794795319 589601837 451749216 819518360 849102596 532766885 256572332 260763396 104954935 135064554 542758519 434317234 589226283 546886429 776399176 677511947 906222566 796127173 655555058 416292981 306522355 644073020 926499063 429132318 532906789 643507227 316967932 457270140 754468905 823955641 132790324 588302655 192965125 731602347 711896139 992791119 622497774 242552824 643343440 353460130 508215757 574229644 279259717 601701603 255014674 692884014 708721261 163061642 140787721 225147732 379963628 814017985 339273697 945634568 975646096 893079280 823040018 199059598 935052496 693679898 226068776 717816817 465119558 413607179 673476363 694206634 947724482 719239240 813163035 158632910 621988165 430853624 579043269 428479785 686946812 446941406 477296435 591433282 386966952 182806766 472126094 509536186 847022831 138063242 405327243 935479183 134830794 880622410 810493927 383233062 756546634 563734648 583704273 845676918 368789956 834552237 731257041 482402048 140724962 184600491 429477748 133051323 915163811 644970475 991085545 867371954 915939371 567352340 697584916 281994424 998375910 433594525 498930993 475124600 422330241 661852751 891977172 962179999 621356561 375453640 262317822 913614615 849037306 194690997 404543447 717608773 263052261 462310904 349461867 696527065 434848800 239002535 418304071 861320118 442332722 513346573 446496625 877090863 596283500 231739095 300309775 676187099 237818536 155976197 678836417 990538875 503042950 769649490 746055149 446346240 488428040 434020953 856031555 973925493 460169038 392819528 836796389 422488255 431370005 689787223 851407190 195777970 659627701 784499084 578571617 881461424 654609176 320343920 662843163 919669264 572431942 527662501 541996192 263786771 344591739 612658685 567267451 524582386 356235331 728756284 237327560 956470833 536426585 985378020 763889868 107579073 978225521 298948217 227804101 819785832 159430568 237705517 275965135 583622799 871398363 353940214 787834452 551447176 340288643 226451680 178338063 379362846 787477419 828739971 513492354 572431382 845646978 308339948 625897401 553849207 223427416 751299864 995956384 971356800 134475596 383990494 422649898 324533071 895895442 609655513 617777027 781155963 563037913 110513263 875241825 489537492 862526891 261655549 378725445 693186296 197678160 110313555 695730940 562581094 720387249 251152336 494761104 656995040 504829131 842270778 616508583 469331767 141843685 707142288 443699324 564128928 968945801 237503727 898430931 194775389 717772478 493655154 145474887 418982142 132680883 131579262 806272193 146632607 394469245 244717925 161206790 436259981 749587937 655897150 983334774 416720964 455487960 536491321 923719532 765851922 983857694 659389555 653263938 439089087 347838371 873321396 408108496 592201395 664571699 739767618 383923631 269171369 862104606 900268806 337638746 369530022 205994086 452277597 253834317 519509589 644979132 655512257 373411917 696788448 796757127 353433953 411882811 124338797 164268054 252834505 670757185 286435485 798599203 451354375 523732218 363657014 512049824 357753879 481648626 783190795 445023112 299806880 329223392 346960373 839200907 391635236 985200825 935388011 106944075 625491264 290046626 484265152 406665724 861490354 689246779 744051574 588530961 985862473 914090996 274589276 595442349 139609329 227357105 391022134 519583873 902672531 107410537 301908096 771120708 319205721 243682954 729567068 401693689 884085599 299880974 850859769 871454984 822089765 716093908 219396382 841874391 560816226 459952417 371795083 347021490 166079306 702083046 492497544 488729616 603778945 734334795 928026809 757857806 471438250 885297336 205874587 232485006 673503159 256038995 547418375 750930207 285236320 361377634 952058013 710457979 347478335 893363952 717070023 793739332 634795082 955160486 696557893 342998215 767896224 384455217 462547353 999569517 858037156 518086989 789696886 763701667 892852700 977697326 724099174 824552930 155707506 458167865 469845471 923986388 606628126 567555083 813993538 545088513 103567741 384999566 144699362 860547663 722031628 618063912 437804754 610381222 251535513 388798092 106502664 523732851 432905358 464232267 378673102 155711611 124950883 412371444 714586378 930816634 332952512 563198993 164877182 956374166 181763049 679178449 861258175 738708893 743582270 193949537 885669606 520415874 703743827 325558610 361124646 627870984 258349915 867495388 493935182 228031519 990304394 413655339 337043606 971416399 323477966 795013498 644653857 572553143 224346936 985094886 178941823 538731212 364736244 367364012 533439462 382351650 964876751 213059020 621630879 980624901 881646604 469854304 541397687 499267230 237330963 524869821 937106749 897753207 391948000 448150240 869978949 583547383 724453197 844338071 960356286 256522130 567945719 548232822 500409077 598400711 800697402 116510325 858572731 340319133 734405303 138291442 215585597 271785957 377312344 294478588 592273427 750580292 342683327 572349502 824826102 657700363 565943298 620475214 317558329 785451781 192324720 216089944 530559049 530840469 474289636 791852754 477098409 683112649 516874474 488263339 952584191 843079833 313414851 138888746 203757433 602407405 914650499 693201098 796510688 352607339 270159953 658175122 347251048 895757769 197555092 720458198 854236412 182188099 517267860 436186238 734882074 323695270 736348964 454400829 118769997 100058948 250402431 533805482 838971462 348830237 590857944 315085150 598549281 292918308 414799403 307491848 474267921 932109752 352061533 987038656 510436555 349336570 840456720 570861837 630430118 152680447 857845369 451254053 731484142 646829899 543719251 153617639 963512343 945215043 518551568 723781424 185663500 199982730 952570317 303260181 423485334 691144035 898661523 766771836 755178602 550041928 837323006 738369592 393197981 816132363 646985464 846874543 896952561 405373828 723174476 503896946 256244786 820636162 852605645 798022708 586437545 248830151 322556590 341134872 179237647 883004642 620204867 200462256 398707470 649287421 832868236 862068965 340596113 279814836 614485975 554049074 543690663 653216264 967270027 893328004 503742883 436593017 143198709 637055725 639002012 126718487 585083308 372977171 989005247 489233535 803775113 987325989 975027179 518937883 497161883 129971782 239354739 533546365 782484263 851507856 176753301 889032395 953112125 681566283 143148560 490683487 835646702 748032399 909564888 597737788 432847259 292114277 267218830 795578118 942645074 859101868 760409867 250378096 956696126 121698634 602953809 492798509 897545758 991550857 765947183 370543274 711659696 449036446 907865193 834562117 589066511 221683229 807357743 327443487 185571753 148850042 566464668 487720871 845088702 380283089 309283055 600843802 992096912 786493448 729459169 838749034 958676234 519135319 526539831 393946610 757431547 673593979 317758692 874783398 469021736 286438172 502749674 536106636 985468259 661493423 593366969 267775422 180378689 402897430 116629730 128063249 759901198 173088194 291114082 320023623 708601271 325540643 671333352 450696739 281947502 159713042 396047980 360871365 573429119 332460577 752336379 719330059 763335805 131240278 303559695 900277730 479442896 194768795 353970380 682129036 203029028 149170445 778180646 893646098 480764625 278430682 113339828 354461583 591016073 787870213 136382549 710476215 469530069 207160789 640689295 370591542 704924294 468382652 876207774 639935601 260421254 503060539 539036533 997073499 843037292 306164476 251341555 902564658 564412639 864749412 209770385 229657421 630520825 609605235 958519170 738585244 271269637 828432631 936635369 406856348 846980567 459891364 832282034 531790108 987456050 418629723 852256886 569142520 166133918 199299230 158759311 517073944 969092530 366059956 851189907 240616672 484757900 233875143 635340264 653091940 680853131 735830316 493756326 572009759 272738108 874954921 708493647 415417512 921490270 146608242 327691124 984676639 157856907 211784419 559238764 945564990 653010926 939094967 369118266 553714744 540292866 357069937 513846269 124822534 390416731 882391871 671223128 929910394 647814583 264232478 148913695 559458501 842889548 858178640 910298617 755744729 971154187 759818833 958688038 581502916 481287312 436476366 651435181 525461584 330887623 902187068 920829575 368289938 364262234 553300221 180416178 484441058 190061177 888740334 587823340 421017664 733279257 497938586 893459369 971661473 887253015 137698298 804931403 945522893 932274284 694550818 961833253 884391797 334810223 640612489 721383170 451788705 211532469 240776070 605806247 228364516 720186409 300901563 155551899 345606185 191030170 906274823 689198482 680342577 873781496 615231701 524008666 734811154 378121867 510280041 446585156 874900212 389901621 519520520 818940478 476931079 989004247 321913171 127578843 310312053 363990873 571193281 193568746 655828109 545553066 299741728 185742056 667339842 767909650 984786494 817347335 927270636 573404330 248082741 483559671 864006505 640927406 783510470 133888296 144757874 677281385 609982140 573298007 594126348 289289232 826759127 565364028 910956591 334188165 395707730 264537730 495788940 940402741 456475521 570522553 120187064 572206655 951892497 750174153 778692011 219690563 356730916 279961244 761576893 978749647 645495852 949299539 572389949 282858671 550730303 524902175 745410854 404427464 945443769 250395557 625833115 772605914 225617669 799448815 989077538 862842590 756156128 840469751 244424512 873735359 373815068 517002192 769654274 147724871 787624089 717038267 496770910 661504246 112929258 626428671 283460690 152451585 722436456 408490763 285197052 522133799 500723675 757653542 302900281 112638771 730059229 937500713 775713660 406888602 672087463 483572248 527527322 119563457 251438026 547713288 554066115 780194838 754034768 423186304 472041289 231869643 624762654 652301302 887164615 937856333 862581687 917756086 326773547 319589706 666268441 559301955 509693535 384122347 501777855 417886234 974233383 347409234 783803068 502909718 877217293 404517711 166639734 644114210 907970301 673945779 631175075 611721730 869536036 755807787 191917939 930023538 483583880 205258642 674222815 519327925 370428001 327806646 175387577 658346829 640306267 267780476 315535034 194362358 498669012 309202840 225881000 319437357 998928113 948117239 558621990 696754617 933619805 604413155 802934386 743884156 513319435 898057069 769259937 160316369 556514743 336725477 561736537 949119086 237933428 809728485 988020322 465529872 712259311 793703508 196240604 163579786 375248451 572911307 988658992 260787787 597644889 562780011 482437661 423886645 845100588 697884859 165647796 212529175 342338652 782520566 819480281 603691915 597554889 698518878 561170401 658965800 264685356 953599495 844843620 120757085 452399698 920293743 449367402 112443102 619687538 421629029 179902278 320928358 379080307 295180137 831069276 447900187 377109083 435416450 671640770 374154277 202578681 414155916 392901560 959425620 775408211 598881420 696016072 324797113 469590576 341275452 161170295 552120753 922573441 618152511 964506620 374775054 552996910 888686114 394696142 206699249 747549679 555761525 923172846 700555323 580377143 499769327 247731399 611575715 648424598 542435032 190645921 135007310 653049936 518336635 527024963 945992239 603822398 146479564 549738636 953119315 578540281 895642043 902132124 645411892 724751960 594276073 804636951 147498895 321020243 900143260 252977859 663982668 263656141 778356245 670094806 135459572 563673403 692420675 706459622 772855442 990582645 905821087 422621213 770948297 998476171 163226687 431449037 477284271 108555572 845229741 416935168 521468885 894929184 415358578 455147002 685344963 231264882 117552155 901607094 663573897 215714228 553379488 596839670 817723699 902563221 816189726 718888211 520802999 276775680 689710167 562759560 504309957 910302526 759960598 197555085 519196158 704453840 673943494 859262644 245832407 287152014 637742509 715085730 724171955 312260661 515489248 663342355 100411186 350625153 857388592 447433184 570375544 237149930 770123986 349686758 790497451 678410573 161627917 132635779 110357920 874604777 701541393 770828118 211551096 406391404 996035229 439841936 308285367 664306493 142402496 858446116 122657897 669330633 350317375 985813061 688017628 568462054 880263743 427481122 916460270 226041534 638541475 697515952 697332001 971025030 528549945 803491343 821859989 827802551 396546346 686928760 196429358 802448240 135546187 353762537 544033854 285276043 508847907 240357938 336905259 221111731 384542146 592903793 724180579 215886715 120527983 594115445 763560468 838965438 162485350 411063100 871821526 864913512 399320953 622670494 884476488 173950024 813523351 911221082 840850195 285138521 493993635 806818659 925707068 657278231 557446358 720795593 604907628 781548095 794998261 998188220 771919483 724859613 180547448 253179267 757867549 509859332 108991223 178726918 478215062 901967872 763032678 902661969 660594940 654151319 432518229 523002991 257693614 105904714 807392760 536348820 908996134 239766601 513395319 593229195 754750511 215195372 136541727 942088457 726893948 430856483 478851135 318315111 886117915 268375170 544041725 531268325 427546127 168530348 616438117 122633783 973301777 636894279 190355479 333846561 720231075 355168119 110660583 447466033 971266821 158163749 494494816 554620182 871062061 893838168 404218213 919197471 526682273 360549514 440996042 885415127 990623749 704447756 345214753 449415694 800050593 245302538 237174046 696132661 150336174 659926931 182762475 632151166 791267216 454832995 392681147 590741916 803538481 745566133 354479604 701500071 757512268 421331473 105823919 434585289 238388522 553310147 768977128 340362075 311225517 855269271 756537457 520003845 761455984 391674996 255970049 440562136 934905191 958863086 907237060 844075508 466269531 852327715 578479358 456663550 506871547 313621308 924920936 586207272 427481829 927647552 844547987 131287724 751850473 475760321 438286478 721513713 182278710 551950968 261040801 905952981 921631634 814102889 505804921 778357641 270961918 313304264 920355475 304909017 462826975 849992681 993590365 456779548 545506321 690431575 683992292 970356363 809026845 912979981 145198594 558577188 611063435 651549220 101814024 338428787 271156554 517323146 904752680 964046299 456874002 464851376 103546791 137503998 232685503 243302638 850747979 817179054 393601153 806678543 348826144 215552278 680376006 689477180 270890439 630825468 152964784 110083727 201209995 467995523 799033652 763578179 396028998 666724893 811400944 800868204 951566351 855232191 171782632 658623265 447551799 755470762 246043379 391442478 824337736 472793450 571643878 551543536 138716086 276014700 174802338 476630820 987660788 996757761 985590030 932777760 521511287 554658148 475363640 952328490 868114621 218740966 439845385 230915694 191230249 904350420 184017879 565020490 713584956 595445692 283716765 450182965 972600127 444925987 202460159 452983214 792728878 639075022 323797539 145968384 541711394 224606394 496371226 212845132 620492960 478732767 546381540 126538294 536135010 161367404 735829608 192130436 265695170 457619716 695769124 132682764 301785618 294218229 538702768 962473194 344872025 159816143 542616077 256417951 830699165 430529235 545366886 468644335 981985559 293986569 285902531 162511090 983073464 593295691 258828114 338391975 840147797 330318828 200486022 501771004 233844520 352195741 326321877 398170434 342608589 240918799 238336997 461408392 189951386 338500033 651750793 313829502 580955771 861583590 436408797 598957539 138943116 263269542 500378291 870094854 809920896 568135840 418938052 544465902 913163567 224205151 882870585 505057144 232697427 512183875 291661908 639697893 588703381 290783316 283180526 732850442 582577738 567926634 500755696 449146737 422660011 150242231 792352894 629482515 495997584 474304050 539982417 101973954 466224069 271533741 158087585 151596751 687477704 160266000 396155579 946444622 588377339 218741865 755656258 536817003 752052239 668903931 779776298 838525673 115345786 185588301 752402256 612538437 409647895 363767678 576367476 652995119 688251649 776544334 414734021 699699671 441440844 509671552 149442113 219578676 797278832 856835796 713143185 362836575 170117822 913967252 803131992 691290480 177474227 888329832 303172347 599931729 799709814 928552730 681588734 314965052 980009389 260071373 470293582 218364872 853306532 818996454 821946845 375212260 852040351 963775467 113535937 518708109 542172760 913012982 407082891 363398585 346910474 964086098 115067778 892015542 807229767 610087846 158277467 480969419 443245168 911252652 132311433 615874924 823406673 488270800 788624148 388104638 466820168 244455255 453560717 170839488 931231293 363192514 178670091 444806651 456046103 525320936 163250688 898462744 224282031 880268717 695314280 526419498 278668724 999031027 978618701 468773985 765976827 544648254 343910579 589161822 429536916 325648438 980732497 964699595 619375733 659598357 679661738 263831245 202720827 916062355 330639242 714658504 677179966 799871153 113018619 260540142 915271580 573847964 732615507 685321229 853860046 834459708 948912031 137349877 291530281 562090721 335055887 868138530 738065358 478612831 324011682 118650730 237438135 453778571 336428170 219301159 861920535 245458865 295170271 194266489 835400469 539500034 977249924 332480033 643941355 185039023 335370786 719057869 159220379 915418355 988645776 175014589 811676938 738084296 581794093 549163343 257606984 432847880 286693567 188731882 299647577 165028006 859473644 239280005 246052782 960896714 768657500 960051407 509979173 284765695 557207357 359908908 809797261 250435897 624044739 619316457 199028142 322668900 594785139 926071581 398381799 863901590 121544233 936256261 141698800 376097905 496240450 365921160 597934978 727147713 467784737 274473159 182411995 574356637 987073462 496118536 361144968 205506834 279610809 324132188 830562751 737514887 262406189 493015861 750611932 557001289 879719591 564811539 893878704 216889199 982144725 622211367 297946162 190896182 936390337 230396019 536932231 514851417 458893118 308528884 541139443 860630178 315795002 811815449 657169854 251086217 528487735 416773249 872343864 647456243 631512307 424475860 536241798 811217186 973257958 327548554 896647415 575894515 461967145 612185267 181304824 358873223 618705057 509279684 879491127 113077862 107419983 272258839 636035060 675032884 513007843 763967880 306634156 521376957 947035772 162714110 872748461 994871919 703390166 657159961 498756704 478412183 462230263 563797953 359737536 764919090 420338284 266368417 793360313 849708196 467463317 154882864 422676990 196504485 418527867 217567309 869560905 363776303 896502445 255557766 180920870 809911012 634772151 275866109 437574292 899317795 630593126 205579325 598867060 271024696 548183053 341013494 208844390 236566961 760051685 107417506 294961104 443045278 744365616 377302225 280282156 285687514 135017210 220655745 396409751 460424565 197985633 137588966 492013380 640366404 953917022 443202790 167150136 293070219 808327236 429030671 619833328 730161124 310879415 445835369 295675314 701370350 822482692 459915258 328150504 917709943 743237801 126006096 319653719 420130217 490363092 890983631 509560138 675058417 720939710 864757203 655169327 512365036 120719514 778436931 452277188 776293907 572507827 314845403 885710375 840047152 489396913 812477359 682381907 645003297 789349341 101441308 132191866 288256359 264282390 430556514 515739270 432195200 864268758 966407317 408884678 242348322 461262252 280994428 998498807 209654178 680046066 719520638 322392197 294080670 944373699 115440502 265753515 870990876 460919220 126542330 209461975 373557214 379583271 650083304 228985189 970067895 336160416 300253506 872143504 736432925 263863931 332095260 162585379 153620154 935142378 193659574 147975499 744803830 444262008 527957024 367882234 870598451 661981049 153429357 169174643 348516975 668307850 348869016 327701285 685961787 435357229 216037569 667015965 500562939 134186938 500846350 207282394 646423489 924593824 123283795 646660446 381743114 932578812 372282359 206416893 351732743 426935543 723832093 317381061 300371861 981908164 376889845 401826614 713632521 182882348 748236027 625584698 597459752 112805900 952793870 952530103 149086570 848256845 701207888 702114926 971741583 932196257 937586589 171783473 137931630 940059843 811778003 853634252 619937968 836802815 807719444 441749877 457033917 501715058 530746688 874968601 174594938 589490034 496993327 786928156 717365133 170929745 510360406 623802621 346778779 474198892 898113683 924657674 409619308 324611584 331088132 509904127 537973762 588414025 830528213 937124290 645483009 321829610 965905980 375080740 776454039 840351143 702674142 302157364 475832165 747776877 219147496 140871421 898584523 193169194 488606184 339541738 630715758 368653658 725877116 347416326 170312636 144784326 363809680 466895929 533628417 228247432 665665796 580011753 413641202 382736115 619066988 594943185 867273385 621641407 952189525 685737583 435677394 274110844 419491132 380718808 114135441 110354419 100777610 394516617 308370513 813726532 401527165 387568167 217234776 942806465 564225642 611414838 785642371 429167245 101856535 666871142 487989040 416703846 952518761 864218842 717667847 255977525 821241886 377927818 797592215 155946722 698739095 564191971 620337680 831160720 233592892 480191436 365640800 372601065 591986118 499014213 363169227 728651980 884987510 758574222 643634145 899490975 248645626 810657994 108883136 913026756 390318820 346612605 534720161 554104125 702026041 557146166 685664796 332216929 795886026 556211488 612611536 898642434 449976959 465899838 246761384 274387224 470010856 209022392 192510637 301047191 216969129 869889998 512650955 106667549 426929265 722044473 949343179 404069745 691285685 192935832 736316294 350363932 678480407 793179728 576572060 859801153 634014569 412394518 876845516 706835508 474983659 993632753 378136939 785922157 844398102 613356966 854288227 604861437 672266056 997394197 801018714 463812480 731266593 917327310 460951208 760577369 195813683 479080723 228005657 636205819 547814336 283000980 808420739 638126778 142318605 356967076 107970411 431662578 922845738 214646080 883793100 529326059 886563019 375153728 696991509 480014728 828205979 841953820 812054060 179170982 469545426 240908945 438627088 176789194 612659714 407489475 131183764 999543867 911298352 721276480 717615337 592018885 521030515 429261949 453997850 897599685 999365257 926899609 586969835 141689825 385526412 399734349 510381782 806457390 731344107 632097725 976854540 671380524 448997271 428928417 180981192 568834651 430035431 355792381 404833662 887728588 855197755 460570280 332206430 672698122 433340814 211930366 162985288 961535048 275240271 827842948 296365851 368433003 557945598 881065653 673754899 467412466 617833125 792619605 871828175 823488360 304428986 902141493 386984652 731459320 718998497 683412479 805812574 436170090 850606880 551671273 362621009 196534399 204663591 579265136 192488934 818661530 372034309 427067950 578441672 866897675 904189422 736326409 907200772 255152940 409630333 802999540 252992814 458414036 623931943 275130909 527246355 558123927 326206295 785574827 450396328 875807492 565734579 729641029 606572126 589878275 150859121 607257722 372189272 817217583 284797623 485082365 983862516 750243543 969300996 802529262 944319478 163500808 317145361 895058291 724797074 371168813 282304645 116013896 871985037 559617227 190862971 284406133 187109488 412997170 175309515 609122964 374693254 234698515 572756938 531501270 316719040 231818011 151913716 221094355 982623557 876856409 247035730 873601931 372863619 624919899 319618833 964575807 613847612 952964410 256807402 424267948 447344563 237610886 544265077 702236793 818451817 345657219 950734155 423650138 393000652 350205054 696636138 491545378 420184372 261527121 863262827 234277955 433143875 615245435 806513316 541495350 211746929 925223254 369291438 971743284 831242091 795027638 107146668 287016067 695372241 216464872 519137639 926767124 716785781 342884647 230922441 427981685 606256372 630548645 838905102 609045163 853092015 934958941 100180034 366747607 199695253 501131595 162955109 490305332 795787082 265321901 985225725 322673743 372290542 843083885 406420122 390646407 815644394 850702099 387669338 331528530 376995025 890103627 322047277 324982089 606234473 935650203 709363268 800014379 889343618 129976987 298443401 928557900 540823934 885290540 786526431 218358075 390498625 222635244 269666540 253516776 614749758 919877679 615405645 677567805 100216986 535900403 701444266 190726887 863749913 392957287 351712026 495448006 703037519 762936632 196511140 342696080 745297219 352179458 733347605 213431482 819923108 594272352 191766887 936521940 176127405 466855230 710006431 697080979 565901382 394702770 446864684 327128929 247633969 717722733 805382216 244482660 378889563 192906501 243705397 289988814 275533560 820814187 213419438 681558677 805613475 765584365 577008849 252595744 330798707 373380317 564854276 495484277 975926504 555530678 718341349 684149958 588048476 707336994 971618048 266064756 749060811 449780541 949084881 986109394 125450952 761918936 590831140 635987019 468221365 703318929 254199576 709675253 858249265 699697819 961703379 661427433 295841970 334889098 962747856 506062468 868304557 278043635 360100667 901129231 599087109 291232656 814256526 135449555 797550086 931208628 789591123 265550206 558467164 961730650 996784233 758609928 352846789 172036171 457759679 162915441 757560896 182838814 544455561 687641284 509970776 147839319 297969113 547475110 227616814 668398986 639924886 104302981 763918316 142129942 185229542 477431586 908025449 642271759 722628587 170571043 946808874 598950823 291482634 938135552 826558354 208868625 982092629 867739257 498332751 490063890 913316084 982538837 834653934 770835362 747990397 135594416 765777705 871300769 508120014 482675930 804644031 822397572 723544380 685977658 137886225 396322871 611291184 428093911 563493199 803737544 824996403 425406932 391633551 445642532 675878754 245276172 145928765 336050477 231223628 665800525 659631416 190027864 974648691 115156338 705677871 752640187 816040564 147085521 180093773 101951540 992973023 874645263 805528988 811332851 694805489 977374552 202399158 714801572 677979106 541006701 654671204 305713876 564805620 563917740 678533260 442688560 414904975 369763813 339895049 678651292 797782383 251626800 652005655 233125766 668808546 239184197 816531518 509435785 527262716 693907849 647359912 898367241 169356481 916361041 617501954 372896011 811521700 647840602 452788351 929777952 508715594 964843194 202818340 750182340 629580916 975845793 453758590 265879952 253534808 985684748 341655709 211832344 909352162 818714095 969298273 714950566 297548022 737971339 494103342 964134025 649061586 363081654 101748826 412100947 817901912 974885083 187871327 790335850 500939699 215387523 561151706 542777610 142289809 625718836 915372434 835258100 628289976 672724677 808549681 735788196 513302478 464352305 905944287 462453428 553391879 487305589 999802218 281467502 665939792 159631867 344775410 185997664 511136553 634324937 300231448 540156418 790000284 688822326 185290416 961367658 498453883 526183484 303227378 785674012 107232763 651458159 797386351 950207629 309570422 481663396 694035665 228841790 305130346 225336761 736659302 982023606 259877315 549869636 452797501 441734758 392120424 893707472 394865908 732212371 962979395 565885256 265030348 467575690 698233146 472966002 826773361 304663282 709026410 323306019 157878509 928838075 237531573 594112675 271126181 357045214 911552573 635596883 787062494 770048390 149342293 643124096 424784051 366400770 924051609 523664214 227503010 890115699 827745303 815076079 596920301 329622886 769929371 369632787 623947344 811049429 594235703 870390431 354885765 700043659 892021820 968119400 246687255 936413402 390818914 938303904 504883657 342911333 935895054 422502012 637566834 176268472 421065079 210588984 620307350 954632169 781656092 900521408 463297063 613141109 772038696 627663493 913968336 109747812 571397212 504679362 697008224 969990552 836242606 529554965 763934895 615072272 776883809 960180355 647434581 527170638 421824757 404336671 375313173 890877511 205017954 285264634 955360448 821773091 980656544 953718122 252290689 240966230 331708217 783864846 678024089 848951248 641849525 446435017 573387774 366876760 907565347 728034213 622894784 827882056 349574703 975047724 608182283 761647864 678238168 847724297 486022228 765361064 788599043 349608061 803931941 751629797 627176088 746557772 363362521 720676148 808692148 593226483 993378585 527949822 973372082 292374075 972471907 633316684 487602797 793335536 870665486 754303360 890431825 738998993 221152244 292558992 673981937 877655979 763711782 365137761 194470577 329817896 717755407 743003836 447618777 933737244 589986991 763120822 574648701 226084973 681629532 243268120 801890446 592608248 976035583 752335643 226358664 973041016 298946714 407129249 266109891 445155244 935227955 885815433 369569655 322512622 114314812 471943860 220621916 832520278 402139445 891123730 539130223 849746327 936740566 515629697 212715483 992810029 726098261 816871160 517413932 566284232 817019098 747295526 985591109 228992757 855854050 401425992 850796870 555510817 139339646 132576020 689093925 510164623 623688069 456409940 559078911 524091960 486659780 586787351 702403325 794702103 868782261 667716393 891081875 559559198 626146117 614415064 333182805 941738501 750430707 658216780 857524036 294139486 294138234 564026336 731013791 846300202 645266991 932368064 654437000 974100670 220243318 538236920 113376356 243783063 451649222 725132218 895558838 511029290 259459313 503387555 142117305 515452306 953990348 754840952 618875936 754168361 548572432 167653340 239507194 715931649 603047945 926621146 583736403 239097310 505848604 338491792 141370051 710550558 891227733 242754443 853609190 426823967 503838325 465105548 287124162 690711110 195814955 988872526 822797440 993076266 721395038 342500557 226365021 106495125 328299504 368552456 440239705 489773738 893657544 580215576 691207205 673305593 975806185 380359973 401582313 948758314 863619381 674464426 675357485 284352677 458047266 118213300 333508482 393102644 700632096 818244015 310566423 669953948 954886257 585031348 185798278 532488585 561170468 116643461 494760768 468886221 378185046 211162918 201879286 536190602 342834702 709377998 661722781 234751653 974466804 572511187 788823677 291346306 940622095 480835646 513490209 649262446 990801532 584402571 154142869 878042613 310744541 302765794 216367388 698025368 702824008 735424465 885623204 601141454 319680446 659207879 141531589 264707089 900404299 468769022 598637115 690592100 757648643 616741445 424659490 541955272 384137298 251579198 903013267 763989301 257761357 798840611 767974773 109365064 222606073 275933543 278421267 126692777 938226306 555709116 283424673 299107356 609035722 697418599 664933123 370792824 483043517 694336886 630233338 292043200 105275987 728281962 296731517 458929718 720452667 231238964 670453452 610307180 699186762 679747383 976110067 975784083 434180101 734440758 836697032 677955354 246886181 339517857 502538864 587348249 802497550 624659175 104045553 953068216 316873594 150475851 291824430 227936337 689826376 797337834 833056428 645787268 500131592 393883432 804443884 216172743 631687253 895673139 686380306 742907837 759593646 994720587 366230816 833291349 787562698 723155315 365049157 663644219 655296692 269940318 625950781 156355004 252217319 252703128 593915010 126201874 263372349 611988324 964020714 160234415 989573524 318538696 193114463 522885700 249955384 622284936 352718872 644335705 939686004 422313287 208897996 439287289 274725460 541972664 149887674 250243716 323798808 494640936 109156212 128045270 933254311 555845247 596783490 367402372 570586554 108626576 146828923 913387574 662053766 172292906 392736608 851589768 348507186 430504110 475816263 226534890 973655714 901200303 504633353 120635897 774385772 479389691 729645004 699693596 558860813 922217096 879221362 136593681 926494848 743658990 205490379 285400018 961425897 556419861 948580367 842186129 248506887 211780826 448591764 380097153 659894332 218293126 745551791 358064170 514991041 825480993 354416668 528411480 800398569 305561553 382116713 778306687 510504834 278466435 923722655 335015237 281335213 589528624 883954846 243899473 974079569 486967458 275184932 821859554 313538980 621568187 648368126 380427214 151101889 511126562 949502936 982844515 735954137 189331008 317554388 678988989 952394528 482817478 748191802 903513792 766327757 858515608 246326617 359974960 470984708 726809741 904917376 798987608 945500755 466716266 468860720 750820203 336725920 401714290 665353574 772323889 924597305 796135663 756287734 728387470 122696138 194177259 792249522 957689843 857618286 306667354 527296568 141746820 837884174 943900019 468831278 702008619 364241741 429902671 875145295 413353991 122365430 462854330 292764772 624803492 731838358 179023310 533567526 135666117 836095989 938514821 874737800 255171158 183631204 765695497 557360156 640970299 936237484 580414746 813485820 669782250 115280480 873544913 596423986 888805865 888675810 667605542 583427597 259734843 370205296 228651754 645932977 318155299 567336230 360478236 398793857 663554822 767677763 105178174 867748950 807637013 326715831 226894355 112402550 872359152 746481295 293247708 835489160 594427714 130850054 464358512 366244483 880907447 800616631 773646684 492227797 113277541 338793701 140063246 167901919 145989745 849788698 299679667 707165755 852787823 740138236 813316354 289661493 256897842 657489841 816952848 702650916 145246599 189092648 401185527 914520720 612755697 571188201 836011790 744385668 677931010 590349707 126357586 718861038 143221689 712274738 620383112 569191133 551709813 212895333 438647652 425702657 557731935 616876482 692702384 322407248 302341494 165033884 287882437 800561010 240992138 909168934 104601306 707860176 358582890 147521139 463331522 926752451 274748713 202858188 156136485 720629675 790353972 369529060 146666155 277734413 567625179 806984109 203022450 605782176 582514473 871731221 553806665 918822214 375531722 615469329 864892981 465630103 392612994 333812361 339281466 446028709 561805157 676014607 392357478 585093923 266891163 729074777 801373046 933750086 427314082 435042158 993677969 587268026 359007935 297487083 116961670 121131026 915118328 610627356 771655804 350683941 310973246 553772595 787081030 412861687 936440658 611820421 905124859 109378975 730663259 183286773 442998243 582576511 582881383 469018927 382524597 844011823 753047136 238772810 648044568 989209524 616701836 744202133 332741477 571083315 887577805 638040030 600163741 559175127 774038015 232219288 960818982 109510171 945156563 309780067 257108032 733183717 694248376 834396263 619630195 761556254 611024662 789521733 479964621 455176300 863893375 438760483 322125978 918890978 772161898 532566598 381785476 665954897 120193135 626276112 408585388 691819773 327561891 109673675 974903009 314948102 870917945 475328305 693862135 375964427 390268837 242153125 768924602 337518410 508553327 125679313 788340770 968655739 380973179 185520142 947491031 954034144 755214170 622615852 606283809 637825855 845213687 493232846 410948758 718563868 346551194 148997194 421811746 565179766 602945740 816162262 650395059 550729769 353483846 609792778 682134303 682501298 281551056 228230822 658752785 760149419 605091681 394948743 153300946 438652799 360353792 443905464 338852104 782031201 872538682 207625850 692165154 739430691 413396098 916556710 542615049 617528452 117319476 352780584 332273567 741650537 380117444 745564181 258958198 994464113 215409401 581241079 671615572 577228756 443701873 800728668 438865536 999967390 221370414 550301628 837401847 407008236 673103600 220597771 829404064 637487203 249293078 197488438 189917649 424186768 492968087 537624172 944292798 273098542 631971605 856545778 669435224 251663729 574311999 194228812 545274923 427218806 137148413 617632657 176981180 612176020 365665882 697028582 175699792 408847350 959208989 309171184 190531808 703372920 122885898 440151040 545755524 373814141 537944242 825447281 222458263 803341927 899755325 394119801 583361789 404743755 306193374 131816005 614213478 506914978 655581300 943760021 174079883 526749929 878116797 421778586 500315616 339124182 602317233 495047644 476607952 492145264 502553865 161369943 413792167 805148554 141712276 796789851 751059159 722990310 307354133 611147176 563981564 896754780 217196968 785569895 704597665 777816890 154508465 395819979 744262046 873441496 841243434 769852804 570574168 321212426 728316403 798839196 100854575 547574415 112394928 778729243 253599059 401659235 194734838 735039843 534641406 431733537 155062387 144053155 752964272 488164761 516270678 277452257 858661087 168597454 187896253 466110253 533937596 762124630 988226733 874700188 277030873 531377941 610815034 395617767 217598956 808664348 226129439 599521110 178021210 874097337 905552869 521306541 298123504 751296242 885372735 591094209 732690326 995805539 959599224 151639666 513722607 834557410 463287410 267765987 213513820 624850407 530891277 702149937 920426443 144530524 380217271 988827421 844897546 617865185 845755799 411685760 611219986 722466741 779396645 351504521 965605396 674803943 824863306 253071817 333923063 327885987 509636602 494549955 320327797 866445887 434408999 555516185 631774816 407299097 470848670 135684966 941439396 333081313 392495031 371374304 875183953 871324499 396605769 559124745 509554834 517451324 650913448 974100487 824152146 329033039 412582241 597258119 286881912 688951706 342714068 124060206 767378291 318016120 343215965 199729878 818815589 157751448 682284902 702696724 416178416 307161504 824794428 899925571 607964464 368787073 399244042 386282877 944372902 642174901 983257804 939577762 170469714 820447976 552903516 901537789 697398631 623874103 876207290 744394637 203046448 170328107 513841997 262579349 254730454 977381855 142042586 376228413 528876131 775236880 290567828 305657314 262435318 935938445 124140098 673136361 672003696 168123469 140137210 549001064 564466972 634645369 757940749 554203727 548248930 554795518 760613415 840624329 537424595 471986953 132474452 637611683 691219135 845474631 411142440 923898073 678041360 542173664 873301735 904528750 157186489 499386356 793386697 712350724 844296102 835744265 277704667 467223869 826368897 214957729 137759063 498878504 795683459 905557267 585539102 927283625 636912492 339835565 768265532 434163171 113555249 592631844 975116164 156719342 879683777 986856487 887665042 577492388 731720395 854235588 160912887 676455644 541222860 629777634 229367835 788439840 603959431 758832436 423622196 176798573 784650101 792395633 411967148 393190565 761327301 860074702 205095953 521057509 502007969 804181151 969424364 928992330 678034864 314092887 613816836 530843530 634055446 150606371 127870761 537083243 102790830 181315786 870797728 189589977 336595940 930228847 135274103 188514941 897756231 973144900 326319345 161992158 954675464 467932712 507200807 290514034 895595673 233662354 308581118 730278731 138266095 403434518 706556544 659757369 165802551 318121393 543761375 674060244 583180531 892710383 330584222 864981495 577996594 988344955 987005992 990360919 692671403 239218128 919638129 178283977 634021167 594147184 857344604 243969765 868830000 408549834 967758518 647252978 150348083 300329101 655866337 188986796 785567705 974111989 564081420 851387840 743544963 762920854 819166241 585603847 417370599 745057220 692824667 554830424 156919846 427141216 441174780 369663041 264342574 339844550 751718122 487515738 152902709 326055596 136060800 440452020 340039658 753798145 524872423 890500117 383621532 213498451 220919476 295984072 760233233 685487644 633101268 243480953 718811258 822585009 730138869 509561806 695651509 982876402 875659331 628540330 449471227 332824655 941359172 533013392 469798268 251596815 682803180 364427237 473474313 151786654 298130723 549161014 633554301 535201118 204460124 366613288 135755459 839066311 822326747 272007799 669088295 457840343 350948803 695155697 128224400 237147730 460384366 212197618 886259790 276726992 619854667 424512637 949848831 651505688 478983021 905507791 546486777 933309588 546437069 465479861 656168158 417998761 695499066 267141140 124932620 299361813 111544183 338414638 343896173 545118604 942322502 158141885 153096801 481346639 973605128 161764448 525639568 374529606 996638871 621542151 406465697 763765973 251265153 434109925 175492680 355727353 971664630 647344332 936424932 291609697 563422850 698454147 235137603 870784904 647402239 694685313 305851520 795544657 685675970 458204391 141805441 340371150 372858484 579124703 331694840 447147726 478538385 639659360 392863971 465140299 202200608 544950803 344041818 277704765 779008710 892158231 414677603 346164429 134112855 133920919 585178277 909385427 905991973 840585453 515570492 679872928 240799212 859339110 723539595 661552889 212420079 811878440 108768156 950368556 227600062 818498695 246451227 237149169 475382522 924674500 594066195 985857322 782171941 329651402 807600437 918875054 514850566 716171595 114691720 221699279 902301851 576463537 342240827 453506474 881153538 402595298 878133542 565732727 675899720 975635673 835433694 541201822 205243766 164777720 757057321 418317432 434913868 868022596 354149088 914000460 706120920 197979627 636518335 875600636 996248513 874919265 322449710 998180366 740733534 572417054 348457093 533072071 574996646 789680679 951152386 640899883 925032215 352962808 208859587 740498657 787551663 753176012 175677303 811660513 864197099 622106490 943235061 381634700 870820600 492306742 536043170 357014848 582929555 298934227 976534986 175219594 178118539 606143819 738291671 486958992 877009060 167467122 687161198 369257313 170402330 875161808 310719688 233450078 520343395 505639695 624548531 994366156 459370511 160293540 479608293 470279882 888447541 532940636 284710800 744163942 605064257 610422389 844023024 490930670 604561814 189607896 714341269 630624448 508716523 233123773 867717763 706302020 201120311 330565469 379697502 193261424 686717403 992961430 312805794 223479389 801999094 163726306 726615571 184563066 590071674 718139318 602585237 622022112 444299284 627339146 371768512 536799855 294152681 516345705 726869808 459814654 193465427 703950726 473645719 128366811 988803631 551674969 538098152 695944011 670089963 904353679 415204090 979275257 284772221 420937076 274081207 822789660 328462986 916803131 917629289 378730064 334387468 968653065 359922680 366316200 773798197 655653434 185327445 106704091 411879771 338435412 370660526 926353230 819101350 409658671 824426374 976362138 742390228 134499480 762274371 405060933 156302254 527685816 243968467 761668427 842723924 488726733 394769823 648968492 300076760 183126952 515624445 156711909 260437140 657757261 645368068 476323301 568232751 355108830 394597485 214460718 206787652 950260247 182762304 419766570 604515043 742972039 529929724 840196425 828851698 131590908 278382356 269746364 466061134 927081420 960922748 283731783 253066767 873141507 554722201 958622164 927383297 379421119 656645009 264352700 523594597 169202265 713299529 648562467 587530617 670086144 200452314 313952874 493053979 934283589 199662703 129717788 122490960 593426201 393894114 666488040 655690159 282436879 372873031 269683524 101361588 412736840 418384398 852907007 539343570 767820907 147724202 257642869 274267156 849453478 869997839 548237889 442509369 813242016 178175029 703132545 556644955 747042664 179204878 746386884 169271817 527193650 703161092 836374336 437702190 915764743 887767255 938222194 882486224 670304232 715751528 751741581 730398891 193661869 601065398 837201136 302756905 132882245 698526821 410480644 245206046 186254070 523335572 911867220 373700573 536418672 137440731 472119696 798946061 905148249 517018199 836846429 161288049 704167824 877799812 576775971 443298164 765842982 952563190 385669663 285190359 470119363 376941044 337423663 400869575 935984948 549604636 989394195 612891277 956788693 919663337 921317418 838925613 695894595 149861414 347642230 713943975 640085168 991559866 169550974 498104928 312976850 645616266 910448346 380419209 816792491 889448913 257896677 577818693 228088132 426905533 884360624 860523544 584102492 615025130 606927735 154295160 194489968 994112844 870994943 358253954 305272438 719516799 900699591 982147841 362722293 355106585 850776669 210543805 451829541 973433696 560020413 534516760 661520280 579349879 167940239 709405557 911453257 196617207 828394739 780709956 337407772 849233831 685031137 701060276 628052935 742835560 937993411 814885822 782888262 728957295 178726696 816794251 339765105 637803785 502520770 548366289 117445883 869271211 657142425 740834477 416833092 893666002 331397126 846081457 917196100 350558141 474691889 453637985 889763276 465091695 445554550 970179424 514437224 325759076 597225088 209345241 395278261 912364476 750427399 608547415 781671753 999288846 564652925 446778090 464364689 538194363 431364914 441195347 796134181 369925628 929638726 363539786 296835945 564225094 101434862 511922362 737123902 353568366 920091666 735176663 255947189 519959180 463714214 195957330 527305431 249769043 558776113 448162192 418442265 487663154 395726296 152471385 392183753 684035330 786723551 537902686 317201065 309669945 310887875 940686694 239324007 309115675 165016087 440913991 790588386 685073040 705550808 181346479 401176639 101014132 727395004 186716782 816904369 141594758 848125749 761342911 660686266 956763867 962048891 683743790 957177759 520414968 959339508 679623395 563777233 547127571 583057787 682067703 320434786 334705947 584548439 657208532 685144711 479501632 406234773 534292324 218821368 756282357 509293569 424235614 945109553 167485787 146071596 841300731 651625055 544470995 462556957 618982054 984121639 883673649 885060757 386018172 544764361 743890207 774352520 989551458 445230584 558099426 301633362 936456711 141398905 523203579 398738604 740532241 461015680 860868124 918643613 993281292 378446913 350670178 419384165 672826526 431393268 499252076 543900707 720048567 580608455 615785769 374288774 846416608 702045039 772464390 251050596 563654740 724588482 189506939 989623926 675152758 368091410 863893520 390116383 448565077 811253831 548475395 760875262 349258630 600831338 582333414 311300802 299358096 472096757 658865719 231385537 715118256 756730288 642463121 136448687 128105461 786154346 887237890 332001121 481397467 508585906 973923743 225474566 636868989 984477499 761004399 444310097 937526594 406955157 235351069 465363335 310418565 412817216 591691401 882995037 539324858 269232595 784406324 997228874 293842699 949879652 682524165 116782551 258307643 278696776 688926731 412115062 674946114 649107755 487273162 525780650 293127406 642598451 910556382 130630011 906871532 512088014 197600274 488330145 924286513 818717075 618160552 397115162 788983333 715142665 163492708 569692825 472589296 457835286 347069636 587194272 170721260 824270778 984776252 517946744 703268373 248871490 314726202 479085853 335819457 471905074 245810783 658493987 795165138 441739789 830392070 672498032 504335107 900146852 661682834 656164360 872752774 222155959 473865926 216281050 311406504 721015894 718169329 646967903 822814254 940523597 604541783 151164876 689071189 709868197 121425628 651417511 952931471 619274665 320237687 737674891 983221564 619248380 317019382 915035168 629011751 280776623 986935376 401110677 369635261 926376115 666667194 905072320 782390376 359317808 445985482 886566233 839617486 266653878 640870593 757949696 318277245 960339315 317174726 469450228 161300763 487129450 794152956 398283039 406490918 703836469 938102848 819866750 123625698 533741162 861534896 158136193 873184628 702401190 896050227 917988910 530787368 532268586 501917251 711023019 249792836 539798530 478888381 363531749 893175183 255682279 895809351 675820034 115279270 965846984 419166416 397989202 731825120 353019153 173549207 141964225 368986709 417786658 324399037 284166579 162282826 657534868 308772051 963111741 115535898 618030784 553893107 475668399 490720872 625898142 262979638 422836829 281077118 364144129 723448943 653878650 731180214 987828281 841013616 630184059 100045522 396820596 677638741 902490750 660999398 382744743 730188085 586037342 340128356 843330009 534836310 922569102 456951148 868544365 842695046 236555065 535161967 369923033 188415498 616536299 134586839 865001623 660958640 290590071 414523796 544172428 787743453 503124608 557745809 406516244 204071990 656424011 788123445 373313517 670995126 662503336 300762873 818432179 420152169 469232092 705925808 272965623 130676329 368228374 221478381 991302831 345478095 535158861 948832191 192439978 113673729 132444773 788415337 568652109 763164964 967528527 249173174 978978534 643807515 892871608 279472714 372505528 671272877 535588863 585295528 195717067 177845334 476363012 443647911 242883330 338514355 337887841 288453846 324763211 822732277 757858645 296208814 982678573 362319556 916608268 108345929 300252113 964708771 562837211 351182258 489549140 462256417 465913747 536066645 850918739 481087377 202592777 480651782 387048830 192066256 413202453 655955402 812497056 640614343 576630318 860440627 568601080 759120741 372918451 668128151 670933668 240856235 970326603 100412766 766413574 342447447 780910250 765190701 326994454 924314854 802410640 726778637 724866268 570766577 800822258 593324073 989172887 563596432 647511142 604422513 469459644 636005796 429813942 393637151 373333969 395177706 441972414 564736855 445295770 168766947 940236315 171353679 179094628 402376412 739927701 796458388 708425486 381801886 807668374 326435005 778967846 621487741 826406347 669973042 652863420 910725704 254155917 264434382 614952294 361234855 619906232 783784341 449625462 956500064 794439501 585184421 130608564 852699902 195124187 467180831 564035864 131318822 695208668 265358997 183857231 935841254 175950638 358541796 876859119 244259175 757876756 890293294 271993173 174870874 195517770 240889406 716292715 911320759 677730566 997278254 114024468 125973872 865675108 260738649 567984261 864853614 855446500 611548050 330148700 414520976 881120806 833508563 876344342 942845332 611748239 512517054 400173610 413401977 525177705 284154104 428279581 975697380 241839980 806702095 673745196 361356785 877350967 778510649 152775565 738850044 359187743 475631151 277991388 702218840 686956688 915720665 619290005 873438479 724771178 525052449 705304539 638071037 702389142 773289231 904584620 214390188 194556783 748457371 510470676 740430796 166635121 538751087 520428539 329050560 751989024 983038142 374732651 640505473 512173904 572532826 872726887 175355458 529389804 808700332 415972819 478933036 494255469 798386282 189442108 879074431 478649681 664188292 786723150 589839860 402461936 415344879 320346392 951442565 259368537 552310671 872516013 677488628 824071070 384696009 954226042 446177254 416806115 632628225 307047942 427452297 461441830 409803845 571979050 467981732 354697750 891344223 331562454 345843502 203207418 874142936 565402389 318167257 575223633 166556748 645647725 246492922 559183526 500798296 210263403 594922529 627341123 571739457 647639047 333396641 947985589 393355365 245439386 180259679 854220389 574708375 517248595 154932994 500012157 249630936 994159076 483171374 679567868 815220163 306969997 586552736 641059911 680449371 627932711 383039789 179708480 879732536 268014336 425709318 507582614 210820638 497415472 935476451 446009556 869499004 504013133 441837529 328458006 333331142 499258885 873365737 374756763 858119579 749429095 562015933 363467272 881487347 677438479 987045891 573185778 431004633 316031991 783591721 719277657 381510568 750620794 154661146 423086461 384722458 940013669 649790635 385029105 520520708 880780165 964178453 818179879 503899788 649083706 248668105 365110570 132955699 246288869 591668156 836034660 502731182 340610864 627931729 271251912 974707366 572342315 481748079 583231564 428519023 229310463 299188012 103690613 248261160 616678331 651075380 384635599 556429311 772963754 165607733 838559855 777845391 462870089 209334335 462041771 479674951 503757172 998935402 744357516 775136143 546216645 886705806 132819606 692491467 744901492 985896985 901259857 406346175 751646053 381993103 924399507 450479504 734037820 499623876 527012176 130813512 177256238 915939408 736250774 357640403 425303225 693837729 594472812 196250705 678293424 912695979 722209544 806311054 322485465 140489948 898100719 763679348 889677606 163553615 832871024 368425326 121097486 457392794 724139784 807421555 763485637 550585059 940327268 857973559 168685507 236453263 479467328 247403486 329084172 849952169 202563690 461884819 405753828 735015200 487784460 171208880 243522890 437271562 587572228 314412804 441465662 961401017 168158831 548404644 580967624 566144360 794535054 805062187 167734645 125277922 638723364 766336424 893959126 304061238 388984277 198367095 260761553 145624348 815175059 994445164 513496337 883468707 507918977 347072534 938329859 307878029 711244231 883671062 151707232 616375581 781477495 833061581 957637141 378022881 941755619 431381114 927564558 457782185 202941744 950629420 863018750 743630003 208708800 762300611 755914619 372269170 854201775 763470079 461728629 787232279 295858114 678115965 856464357 989699850 895406758 302050999 189937981 924396639 203704542 992613401 904964373 968373133 725602366 903802482 528410847 468203076 622883159 359466335 591818660 912322837 283767730 407409910 366126868 196586311 501919071 369955951 934452912 931452619 570219792 801258121 189108063 953980894 292542109 648372362 788956478 430638225 261871973 187670317 815228404 521185758 154943914 317543195 271308902 431834356 418968641 729009146 999136807 751938269 106571947 372429368 999779199 545839992 982072772 489788110 914498704 834828407 331668776 215306581 526114567 626698305 653796928 377069967 638889386 907382664 823883166 719743343 290800593 322486386 612148482 146471175 809385672 612823433 903753016 210088431 133146437 826398836 351037633 691629753 738888074 751746911 271964331 926888312 655377715 958204634 616673504 808814584 652302288 262762429 390163948 627916601 572038963 712332809 294631434 727691103 281891071 511079181 126845048 427854640 389809542 544075670 378244021 757514757 321957864 108092611 704774299 334225723 101561752 787902600 858593912 887627990 827217684 952745381 258485963 118820852 994997908 532177451 986243861 670585801 577326179 872725547 408519837 673677676 316456476 698052933 895158723 977883604 115328688 796887953 570589498 272631226 188921987 458103014 526655915 779819736 460046534 143995043 818800831 821946002 791977528 737783414 169108346 906669932 849232044 263846361 961296924 784239638 525996714 824965895 271638228 977109361 845007854 749919398 631624942 662017099 675525381 836196371 633530717 235933967 593301537 917051166 846557960 592674186 852507784 858608926 581386182 333558291 539742549 292653677 977714561 507362358 160152711 376743559 733938207 268395172 717648897 766943844 247375449 489605210 492165338 807273477 126167511 795590596 647899832 730300194 753721493 459260789 101682462 936096431 370462589 395533729 935721440 207627452 721897360 135627603 519236456 738433900 327050260 131426826 542020801 491396924 545691967 397124454 384398504 508411847 677171807 767802678 129088951 525783563 564487780 746773783 565753392 579294136 461621602 351133746 658856680 140391716 118881914 596290242 676440910 497472809 893561181 827397657 639771618 750456676 239579818 405014206 385628049 923876443 307454808 502902807 823465494 988542314 857776228 196739139 429494779 124044053 218314297 698801471 909019194 162312397 877851622 764251576 347809486 805831896 299763671 369340486 986440656 936945941 980927127 816308768 556189478 482523792 956368837 715647086 524890164 605053395 153276973 691820485 648768456 122744895 958553279 835331491 714427360 996266612 880356630 703116548 538245248 683268235 445192786 518524769 861055577 246521034 592679589 566072226 512910140 355978869 870795743 624442955 142169181 566160641 221855141 740335414 131662780 346662000 661850433 409515850 261327894 810206575 710003897 150048686 630193997 540464016 960903617 496181913 583628852 597230885 414062883 489005031 814322161 605297770 330406860 117000769 650643490 990646014 762547780 910477191 277724729 484731860 462098469 720961399 590062069 664558238 755097522 503703226 791870440 927982916 365759355 719399890 307721436 792987699 331911807 482558672 492994316 565257116 779557900 337325271 361135505 726166965 665413023 247865186 642914660 348097287 684130310 948992340 256361291 301028918 317321324 463426722 387208628 266435099 683047134 722908923 991479957 375187220 408646958 995563901 812760054 907093806 307796589 969388904 648990254 381518965 643500129 182870836 999822853 568428289 679766551 483641336 501758563 287770484 918031567 923671234 362781822 644263341 960845632 929180749 280665677 744777186 327009677 947925413 137424880 160195645 972564540 376159691 545332348 396173055 900871983 586900020 846282455 521396396 755310431 310692274 311401224 396605083 332829484 643139658 286983547 543801275 944359462 271700070 142152241 257592458 777509849 113899353 314719589 794085910 886533310 911677424 302774612 434574070 352899489 222915280 622201908 828155949 764385903 308560500 439051834 644591672 640644044 890509944 903949915 811342197 698777721 104815867 174476391 701354445 579182641 978103977 362730420 813760629 608001644 653915061 672003577 730200630 338317716 946624292 367493702 260718508 864303265 919710403 421609798 814367223 927333752 832251911 558709700 445100556 493087219 103074951 931164135 937217472 107835522 494501641 878197996 361458107 435038990 821540432 380298603 409388946 786736276 554770768 749578635 929631474 715761243 367870283 286446380 106175478 109358744 937387596 218734059 676059622 304615986 870502531 110957794 139872177 544380102 613067564 996510875 293466489 986038226 763769132 801059765 250467171 330938285 373430396 354937443 890793053 523244260 666190215 116326077 766285431 874992112 661731857 703560633 819883702 651883589 668292101 905299983 599838350 880056207 469425567 163407516 909179880 516264746 742564560 980265133 194906077 638407410 664473884 577163273 579562056 110518158 213016270 311361186 812038959 331130187 872945451 167489984 283850741 812279502 371475592 106845394 657436112 648126538 537645135 154536347 185129616 601812527 245322706 747614876 589915438 688170817 283810239 644313096 207459885 739251758 481545574 401881378 243174804 790677935 457881233 416206115 390593743 976559861 390056343 978274198 706222771 808057682 289528900 569981611 954348233 811084323 399149239 198917414 293696998 936197721 355300003 810800105 875421316 665516939 740945105 412129686 894691976 802564210 463185508 615594140 531689792 276857787 114821320 174985589 846984391 738945891 167717921 466692238 301922681 234841519 860921181 489386941 333719176 836230258 702814399 437398479 136890598 331902793 962870749 314294835 434795332 140434748 367574392 988499697 612690073 680730308 867982792 642100797 900544531 780923837 455280340 851347830 348359937 348721204 260099147 264796158 112792885 449923709 522460100 343337283 405097844 487218507 302344834 382185349 178966182 164698620 573178700 740981050 189610750 317584944 880261943 739198260 257502207 272166553 491849612 796040387 171596531 479714885 526973621 595344505 979357719 503679260 142649841 911792366 970995692 832524115 255830697 273907667 242872529 432333918 901601936 335652783 335592746 454867756 101174378 797430517 604084010 401105521 452726966 382683218 188499128 909751221 180224471 939480263 909685154 676777660 240420352 340341288 615543683 516708231 679803053 679973460 646526520 137962313 779385235 681767962 182240079 196591184 291948534 431478406 430085644 581135379 427019225 322855659 426827913 323599670 285952337 546505660 754185371 867549457 947206456 156670888 127665846 163174566 272470936 452302823 121873772 641991964 124413621 805380938 316209339 924714827 507288580 176389923 917154757 876528670 277100750 431898752 955462051 729930956 376333516 450993635 881628750 349487773 307988472 537777289 187131596 606243560 738393751 202776970 118369485 241619310 234779058 350830336 439382306 229868722 994001094 943940740 319471258 346265789 852700448 213464070 653227085 763155501 465337164 436169228 889947194 904849357 700234233 871366188 250473011 436052904 513223487 122584453 415011008 903392655 997670940 787531944 104538226 209714403 931104385 204518933 677671708 673099451 388399549 690790972 168254579 270815283 939474373 979327380 302122933 625984273 678831007 548756797 625510067 618374028 289824893 964517603 854660317 399321761 553935399 527721876 997528445 870795982 357237551 364932622 770530368 701445159 862945861 136830459 560978937 627145641 354604807 493669899 615281561 788151397 503827814 725986173 557615459 547739736 606483520 155143443 475332372 661461070 255477667 951127312 211019671 819565784 658989687 914948648 466278410 386197080 158786714 255469665 507416331 919844988 623605032 840097958 961885567 285529748 613353278 362397732 203707792 509262413 293032080 488489097 245087767 619260306 976363321 970921538 937593403 839144989 420921843 777050448 572092455 801495378 155658189 400899305 892461213 511743107 783562226 866259560 366736748 347955394 306217204 206916134 648048384 305913965 955386515 249237630 616193505 732653855 599643600 619187415 699449206 225115546 244928571 654032978 628131545 665978993 828031627 752077108 920466937 437469516 898979000 353997716 385604557 438480506 873398367 965020605 713122965 953811321 218759508 450956666 592147926 640768884 963768987 307103109 906876405 260503636 337909786 513684495 788169734 309965774 128725377 412275225 578659770 938138098 116419450 759364708 938381452 910502528 589700954 550001349 323236330 981421576 328594269 975527924 531243333 419065331 146479753 537625277 113086158 793911774 107120555 996553798 819661160 837308421 541779056 626182673 848178405 920193649 982713025 922994330 719927255 239408245 363417426 353357618 914112992 865676780 479984983 749233066 816693837 170724521 351253541 533770279 572217689 268684372 897425938 895946613 162276421 766934920 617145409 710262748 139320743 533748795 323872191 888500553 510743310 621698272 367247010 730666045 706774284 117427780 415570012 756734730 752402496 704687447 121095911 831120576 317112219 707753279 861025924 872887548 680878487 713434036 394378708 158890124 409413438 625757423 226632508 845753631 845724797 730225484 685492767 208530261 439632867 194593563 564709734 576601108 199125574 400547041 736998095 951968437 674028307 151193760 986844047 195302530 744066718 727095059 136216662 544476092 364124281 902388699 126482663 419003787 492002685 166661313 881902811 807614891 624548145 293219991 521627949 965834958 204071740 980720845 485726399 266231638 754907993 160753984 781823582 767789333 504614489 166558430 835265920 297745660 382701916 760332650 816075516 268877097 757215876 950068235 959787984 762039814 765074346 168637277 295461099 178624547 518713588 230219658 678238692 469373206 726237485 663375346 461017414 359183246 765133926 683775903 467369457 521299177 407299433 324998833 462063384 384875538 335410516 933523169 202779352 490170675 925053823 689634853 968209912 326352063 158452552 408776397 917209658 926750677 832618915 487523261 996452974 625352087 199335303 753925271 260747834 651615876 960827290 645732760 363930515 918477554 341377036 951293517 580478784 665891936 166859035 428896288 667548447 556190246 494131824 741815459 148586293 546248220 653993509 106165683 535038377 662578391 311111591 729053102 711253942 219178688 681462668 252485024 166272306 754705005 325496375 332215278 456490497 771510700 383113621 220952455 591400147 770492978 690677990 401233144 146064702 379547444 385468987 976140454 256471250 337954276 887920092 609308755 563232394 598715041 141891870 956022195 947857251 891979419 268431131 961681811 583357886 993166542 844926674 775026588 286041831 398436494 806604542 335072343 310948512 522598711 919472625 278786374 890433575 571483283 109536124 292834577 610561494 513782710 344067899 187539135 212539376 140676010 928605863 615117363 506623838 177080750 247231998 122921262 330990546 543596818 108240763 682852283 363899559 298050008 963374099 647228010 778926876 272377217 510834873 981785624 252316646 738570941 383847550 710804896 938784278 438770609 808207317 670480073 787253494 674093121 705987206 842679882 689740010 648866451 840159322 674195859 103353424 899058048 199785923 412874474 379148476 326541583 326858793 284731364 736621721 265075524 931800397 454807293 206164894 917496496 197407424 964088153 550886219 179329251 555627330 691353791 812706679 158571195 451587231 391230349 380898716 280492976 678549152 255874310 365044048 193933418 544860587 723358876 693333535 746221462 134314623 598027493 701333412 101079005 894736960 682055151 946268688 679221445 808838740 894164850 659838703 191559660 388220511 515988161 409325731 172631418 544480786 835778214 311148263 661776395 498290751 447829652 582236552 115388492 313222090 217752103 738602460 379278723 661411305 181984965 807817103 613175050 655165049 809498997 290788006 430084596 566658384 556579672 645157365 802845438 547251234 364211507 754976371 140834389 362521729 241212929 966255789 948622321 295776435 110849672 994034292 408094766 995415123 248847029 935250749 760157347 930464985 404577556 301620580 330783337 521849579 625593277 379220532 976599047 350665011 950198070 861490771 112899256 238906812 696246993 960103555 199833670 143644913 894680949 955275223 679304954 766524701 992002468 155507764 709397080 834836974 981722048 789083597 392101392 243985488 966118710 360393462 939890335 508614728 343904046 241891952 711013421 321091719 203908063 686599011 573887577 573544576 948127706 277116290 190288261 714474962 913269798 954916834 620466445 227498726 985153454 115224040 819667996 678233242 937164427 234136026 517788978 949473728 830145789 414546278 286669409 759592140 415338265 636120638 743248773 247889251 805616488 538460181 545645016 393934894 508676425 717420541 874949822 573183591 523458928 966951068 799252987 249065275 973259505 530277633 677895316 147687878 435746023 385624178 733618496 748456921 925420259 122271996 839014543 816864816 167298037 396434319 508308766 591339112 212361853 326422534 251004960 687192905 200958021 664874583 638495800 310818486 425759212 714144307 486737509 727984182 864719643 345514566 192738621 340259256 724102499 697822058 468686576 809981180 595852141 134854692 591331581 614482415 814301527 657125649 572477648 370542590 131040262 222380750 284658231 625497620 185574019 889900333 148112359 308353797 731309952 144593950 148725759 297366600 290605161 537197272 347177767 723738387 840060071 164152900 771461051 763480241 778591313 469604149 705107070 936400992 619968007 677977603 489928220 715099799 710610707 801817595 213994320 692769064 162793188 506066004 789179007 155230635 640778457 611126815 385196817 475914027 633338543 213254290 400010509 268931186 196150488 586738405 945247633 255355506 371862213 651993270 151009291 127458291 232886042 821666398 401918609 320196376 546279148 629401846 770171168 625984124 237300982 223817887 461607583 304031872 364361215 345760382 660974670 941606972 610694135 831056364 453020114 453710628 169660639 951940910 867081148 941648528 540882631 716788081 498561589 538978802 269715508 219488759 826623141 113601664 451800551 533901147 721106895 854181079 145974045 751016296 932110734 229399902 584451352 272756127 665369154 814709142 367119605 837220773 485228064 517828585 478059855 102069281 583129782 263594076 448754862 196751379 348842891 592118472 629052104 566331499 243222394 273002281 741879271 890410421 372393225 377304466 436111071 462960293 552063831 231826772 798277940 559110446 841643242 907696993 365255280 419701671 707641343 478887596 112522553 328680301 539010503 512261181 735922037 741167654 571169839 711447912 755960955 624772391 432406414 291346269 210949022 883862900 710682388 783138168 389476585 303113877 916929790 130656272 535383641 676258256 466409289 544202229 831979226 279818338 838469073 493987318 163066165 962514957 533474156 978224526 539420358 926057317 265860230 905366289 844111501 292430063 147262298 268693108 283106998 638828579 450758954 181897614 716442558 692991707 787325999 552034872 973765432 219646057 363896140 968940764 567987471 357455613 278768833 604328756 355994610 946799545 799258102 462608896 334780712 899253609 704917918 236607292 575458625 525059693 742548186 786857762 799624097 679481212 731515009 886662885 364890870 450006056 452177755 187403177 630558474 111227804 756828334 926737820 459179759 621530201 749447961 255346190 761463610 894341966 641929206 677868420 199271487 402803202 349393258 306168656 443889338 252828877 859318438 823419903 748079095 551273374 705984401 577332833 141845196 118623130 841632972 961107587 442633347 263127479 702092497 155964578 319608202 845756503 612065621 436717481 835234187 374403932 335602355 367944247 804635929 622303054 942495612 834921224 821194827 521309984 784771239 676682955 775826321 125106631 729126907 462344077 980125825 570933280 188961785 642035593 160259616 851999688 216605910 834503233 840571837 958172505 772280164 400304069 133930765 407218530 618430350 331122180 688281422 609809211 263470186 297597308 285701584 354466142 979746526 123452176 552692108 752386935 317195630 863069291 357501471 565755106 515742081 293538425 437277531 763585790 846713125 141958064 209292634 407224734 984407321 993928627 382739712 183440594 322569210 888465734 855355244 279495739 791992667 994904772 874569773 304102808 532630056 743784482 520381024 535581947 275662862 361699538 289541235 865186507 526401306 136970125 416464763 558820343 196078782 154997782 323725838 578602921 810031187 599133330 373003733 245617307 235282894 622597921 913828187 147485784 236531363 241702647 473953436 992026869 922903238 555053469 881109427 325843018 879973078 256700161 968952396 340449253 227793522 622493034 627339694 242648589 413656240 525938118 416262359 370716872 433263062 554348912 862458895 252412954 137061319 100862833 521391837 991284125 293756044 777534835 984245380 378530422 835759726 369369392 116474552 687691881 174888034 244013746 817757733 505360952 440049091 112123522 866779239 918080820 940241119 463268740 893494742 941852187 359921672 613139853 574990176 777890545 227015183 520362988 977044051 742129261 786202991 161456697 490259247 300211854 503883102 240002152 107454333 659039294 664407769 247404616 235164145 204367431 407825480 239246779 317244081 622059516 664621995 870992881 459197535 882717601 267565165 116146244 570602624 271241629 157421730 963622672 114545476 918639362 582835927 274401895 522310624 963737488 135705284 503675166 508800522 500240750 716007570 175323300 802769563 328571006 184439661 842808730 573805448 593210345 376138164 906493072 206675456 622455062 703972524 642208922 201021421 887564169 584172754 353720874 665291746 873109950 818103254 839188585 330333245 763415668 107379180 339291360 975372274 586565784 433306258 376654445 375159937 871048066 318933717 446082029 265891839 789635759 498951039 980858482 151433537 284388721 112211382 981970249 748271885 671798516 105497018 660859993 343758178 497473961 943347294 680144435 564076330 741912482 892484969 575813918 247551341 432620570 128791053 996395361 160550814 650515426 149954331 959757172 558130590 237902096 984795144 687867847 731808139 745049455 162544888 835458774 439689271 831632030 907685879 950516250 814801623 986488915 245786184 473910685 714534219 457679433 535371209 147416073 748796014 812886010 794794831 911243670 680382567 437336624 754852658 322407314 389622619 546635471 742644408 165849015 983503509 312963313 963244895 206551847 751184863 960775290 781013298 207625206 415090019 280339894 724040780 374705515 374785262 881388062 967207336 859038199 692518425 670406945 978751792 489479201 559026745 888947893 651988019 157827336 234399921 190188190 808489406 375140839 861129996 330046910 612346254 506367382 448586694 164601092 892198133 166475243 889699306 117272918 906543158 789469788 799952080 571044792 891362146 533833574 145521892 349529296 570070887 780950393 996710993 197256477 848075578 758992599 586940654 563441100 723125337 461135246 970863436 358140377 480432193 916702722 965748025 239675928 791699384 150783537 667466832 639290250 856820727 860183969 479618731 812152822 733567763 787251631 315487129 988493072 825061678 914251462 320178891 905601995 180611411 869888424 576738663 737395923 370715807 842122223 789417292 830311197 619674853 903716877 328807372 494216474 192644755 736136652 995311958 278227284 940924918 545174371 751025608 937539873 461812118 759387402 965251945 363952903 142066032 752411891 422275758 164004587 564978999 701853374 854046196 251665281 998962813 763572905 743282924 277236022 447276408 508032756 644820532 955321735 486529994 419248527 376993447 888018699 971187742 493929579 422571617 457108546 935448415 224389290 775463601 402462249 973394424 208753443 721954431 393082632 184828592 587624975 620659143 314416236 104920300 882127097 732059315 905506970 357423372 499701601 262705388 457356679 220758220 906303098 157798909 717253213 617305907 894290791 417768562 101652617 140568563 653518319 537006359 824873828 836720235 663572755 552600585 235237135 827649989 150501136 795820986 830937119 673773184 926958012 293590263 388256076 907700137 618646603 867774046 946630705 468081521 843900532 463515009 423384461 957943881 410559477 353669169 530271279 562799285 471168251 623847829 900565948 752890475 625069667 905928534 377645298 663914528 655451612 289536565 169685627 584477270 323255886 321865132 277678568 287413641 650507580 211232565 226441713 690488767 379910045 939867507 936827682 415583606 688080095 753402487 958793013 939421108 261257383 188598712 151798094 841324087 815700551 482982362 980887458 479071074 466341861 656041721 344496104 471262202 511458482 262782224 499800697 357261779 710226236 829585852 296978462 609503237 539423061 103281190 368874352 865466384 589115997 900075201 523147596 243065119 748916154 318396584 501654665 794847482 940713487 512268364 948273548 707214459 296021607 606724754 166139876 617788492 785377303 635369914 535899981 383794720 171593029 220559313 812058543 783930940 332300142 731776475 512159321 524437389 469110491 298862661 517038553 899181184 910290886 462773659 392973096 611268888 859172606 297259180 144490082 795728253 503067635 306671683 246841100 736723152 265758214 661578125 831170106 875531408 455735913 528842159 548895611 339797505 476075330 354652914 587336687 546110724 725691764 169150527 757543867 681886277 839119798 581757136 239493208 627967996 315164207 873382067 291362623 451902365 936811934 386400523 840605051 578238015 757102006 282903627 660021614 623688835 830882480 529712710 625882403 339490547 632706588 714462799 627879847 446612512 536048541 618159345 740258890 104125825 668687319 795697301 940847728 325946612 918299756 544669984 979039444 674389655 725481483 958786295 410151261 504247308 666978595 591865264 678327689 179812992 456667658 799479624 468797993 194904523 663535563 209469762 454323103 768777191 553846691 909918088 684143961 488688398 516500242 340354615 212150892 906916602 447325089 673330012 305419741 550435069 953728666 516159149 992337494 195130081 237240122 418249056 882507728 201091001 933879764 526837311 290798554 293371526 459443211 814456597 419370960 895270597 266125609 687346113 212686211 238320973 436964035 614374540 890415927 358568953 979047043 342962434 821653314 714972976 639125090 680027232 671678093 321105984 529066079 566436367 889549046 958653874 258695899 454806165 649903532 546046495 624900402 407440345 303142952 160890176 951864127 690233306 851986967 558595073 126238875 458601478 344337640 282039490 916334231 555811782 584849653 864871211 915631905 334819765 352617241 270715946 834954601 813919724 540061192 438255691 953702042 658355009 372851047 369936701 875785708 801854543 805893985 553740559 948865774 294810821 639883361 921765770 619947652 184453144 333748656 479649350 629961683 191932121 239936818 181204764 200348935 862390413 103173912 425766720 547494273 995194073 234563986 465622802 158812518 486960485 390201283 583000700 857163497 733806696 983865276 929473964 448947148 683641664 203421091 102696614 145638121 616887750 582626044 791320810 497007961 563667336 361830339 522054181 654021357 103159762 280771495 848799730 996465226 331817042 433080719 898991860 587960582 219224847 848056486 926532481 769913452 236421981 536203259 419040627 450722314 623998583 163029217 354081535 376263086 226306548 981495578 791823366 684974578 203873597 171991878 267324467 433378036 984199746 825004805 780718882 223299494 898571844 948917334 522889974 730171573 180580475 961122981 309454996 311944364 907852962 815573873 971879640 833624889 998085951 435157460 604810489 122627411 641708406 714501442 430943780 225959103 964112476 668292805 580477804 907522646 568138382 722286783 311529845 296829577 307711437 142913488 533164956 651021796 774222877 250092475 404061829 586936694 182394261 950687031 785858901 559824155 393103924 491435350 825541244 329409726 575001789 653210137 661117733 280685012 555883909 714379674 184534398 202203073 977652367 195391694 815960143 897688852 523856216 799848390 862053404 231403735 162760377 933352221 977106536 421407442 715460234 352910322 453100590 460645550 942945815 893573592 696793937 364304249 499300875 980116500 238944744 305839585 234736840 597759891 890704922 333118881 150947129 835272437 835625089 579980295 166332444 243133155 219220594 648317865 559122175 751612040 272272869 543935465 487009434 444230495 665473318 367565068 150482216 560858634 122193336 956389595 943022285 708550032 119557576 673697205 877687038 798354588 267308019 328072774 647589120 710271074 611760872 603708843 179262133 581681513 174486289 760001932 215670795 532350502 646480212 888194711 413326317 724168022 175911433 158200942 702027471 784802534 336303274 660277909 405672541 604356568 525065922 371099873 580308901 714963519 704919314 267893456 641272604 186431310 392573275 391403378 111279346 888754214 275105657 931956126 581380191 403682456 554775404 793165324 970507266 726012888 749424714 740865462 403150451 129934209 561236684 467316022 190000076 651768119 687677854 347916298 796388218 924700552 724470815 269172876 458634945 411566714 287449036 260310426 544402163 827638752 790684639 719892037 658141688 799607180 371811967 297184232 160539708 861777064 354294439 948981161 694614290 396418919 447616975 331282376 101144715 122021982 937624698 582878385 466529810 333438756 227718096 151458083 317971885 277389303 746039068 903814203 797198165 658616947 871139010 548841193 947869904 563114934 301817290 300871591 955854800 671002422 130985506 871409059 870714298 159601654 537479418 983049982 818671185 504054235 249155422 835285412 369035245 108457770 692005823 980377056 845801612 650909199 550345564 626810150 749636969 266845682 706855557 588457429 430701885 470320137 114596135 251453170 695732523 326712676 513578904 464173259 911878066 942711615 811839339 624035156 427266887 823051950 191021908 604386285 464995413 794631970 660693166 830438673 360361226 481727156 641056882 874700655 907901445 276972338 244944719 137042971 919590240 771773897 385219132 380778470 996070904 830634407 781784374 441212922 297101944 661459163 231965013 396052556 605204608 913372796 515469347 589097748 186734239 746609574 586707840 732003879 319954194 418561401 720916327 585047355 683252583 661291310 162034515 223661231 807796187 941612874 207801713 569345704 579070118 603243041 913063678 636361295 784539707 805817403 633352778 656371900 234778498 404823950 998686348 395629613 355119672 727167982 602917844 447450473 140481579 295729117 681361173 520354310 133460159 653323509 584573903 204310896 836716605 514168750 817525650 291480872 682564545 414490686 922296747 321156302 860435673 386928619 360090151 798570721 573313347 242853592 438318807 406298073 636529334 970631180 960222840 845000617 616898958 196231545 234390766 919619835 618547587 146929373 608775907 944251733 784493522 784435198 450097665 688794261 288263848 127720080 807137908 112081292 107295339 318221732 221495667 710980831 947374775 930158433 628565334 578484743 925327715 944394934 266122593 245506979 519399446 806032689 909910240 704360403 659529347 734623056 146333383 514243883 651101925 245989092 305649017 692114227 516929767 444923826 530911573 184788071 177144502 141120899 439168474 368771644 667815690 199970272 914085601 902883904 934894458 549099083 748622353 799822350 753905816 439646955 157222855 546642583 116798778 492447995 682185097 343431621 616040803 795905839 301815978 667845065 479224298 745760018 375971229 381910657 894646994 883947823 562471952 329959967 896280767 735899688 898972027 137756671 741780277 379232498 599294490 840515308 483704711 799370343 200223816 963805155 715861317 400773648 361271276 972983802 833704396 923870802 624939686 217182730 663505291 212080470 328074118 147902466 197433701 361608132 906068824 603249172 500922092 243778370 806150843 446830406 718388570 388367270 257859406 228765399 669820139 751625858 707198617 853048998 886721443 247422968 646068995 881265280 695559421 568838567 517047598 226611223 286468025 134873881 737958303 543000425 782331020 209929436 139452593 610100465 722204965 737144751 793039210 196471080 965996855 440863121 426806152 625177516 826280811 287319109 356536246 339727785 215774864 245535545 404679785 739985701 748685885 663923256 932600389 679769511 741458061 279548906 882846768 423568657 766980583 386702807 836309839 929112410 262627475 570807694 207796977 506783094 521678061 571372871 100780632 866444466 563020840 276933776 856331287 243430955 347252622 458923533 622919368 251283297 637392494 424002469 194268624 389058690 415060906 392475836 843867466 990360742 616419713 988747713 475326649 376255233 826294190 217789355 419429218 124218595 560368307 161359216 500944575 480634207 200098504 407680454 481116850 282614618 134038090 396009321 464712687 175514068 230580357 235576839 975401468 882283289 820572446 272014883 441435160 244413735 874535768 973930710 860270718 720179397 376891946 947005147 976311009 125848110 245299309 633675389 374045411 936674180 453357212 360356798 182209172 558859439 296881516 601697335 963575900 502513664 740186723 244727628 339780653 800592949 242748243 451321511 358043833 173785273 309077516 212291921 722656136 894668021 687096715 229101103 470961162 365194153 380203046 236001835 528898382 549131890 873878114 263761526 893662020 301497162 821451307 515784694 551527007 463865861 595112898 215670615 499300633 497323944 102434377 356513089 674567569 856415524 320609550 306871163 352005086 499987149 984797417 517012544 324787530 717029626 695494082 895513610 879081338 140184002 418376129 132228994 519927243 465031542 637159974 831826421 525676599 709267445 328139437 302323566 947319203 460148711 615929890 106103005 138107042 629267542 198696199 273126440 706769621 366536426 179333695 528974075 254548379 586347370 694805745 947659548 727634600 889793748 675821400 208125190 473077414 234108326 259550657 460847591 622204976 505664474 297560186 645349367 793516268 223156658 415414793 824076910 555440640 778167813 142147600 820129070 751815071 340039337 302192606 402843133 242913374 144432065 769873875 541197081 361376955 145333314 677743629 324485984 240554210 186861329 703139742 764789666 552519912 989312989 520578325 820606695 385835901 623322351 373478561 921838271 534894176 172526239 309036860 827964175 754856864 229458664 952973597 195874007 442328912 330851561 906108499 652894301 846664682 324178808 174094241 534180243 288280692 203027482 183089475 866708584 584575990 530147554 256413053 472848827 977284125 842528505 313028393 838052039 283204762 972791141 938468463 544026359 767382754 124213991 237841336 567665420 992467066 388246341 524748979 624704007 548290304 442702794 876322919 463207811 155584868 364972322 104876887 540727218 215488188 639182339 715018420 353111306 921316924 782521081 146525850 582024991 939114115 119999993 794926505 853385261 635982611 105889831 592739671 280441205 844800168 106400468 923078246 507298421 281485758 522857261 722225331 820662543 249705511 824455741 773313742 484969348 464855818 641893486 330342211 931949705 917100534 370012030 997792178 319976242 702528572 801038260 813431324 303947207 251513691 324228614 414005500 749060031 969349980 642522501 245228439 361081677 299997710 648075275 915197657 906319885 283676150 471097827 509820099 893512374 738920769 355745583 245597899 135320018 111839062 910892289 256480087 816041457 925125335 371946546 286667726 418555823 874574353 269794645 490600557 750425920 888736474 496904418 508668256 471219652 461511288 742808007 183520963 524353065 277185778 236652498 282362070 496038161 608458055 987590042 841690983 960811201 367035454 421991822 367936756 296397667 944630680 226673520 869222875 259236876 650469089 260593283 378232138 181282934 264408281 478295315 809204193 328918704 698562225 542877595 567162355 706064740 592159076 836246372 556749168 516427672 163830117 419830372 349986661 386646142 717649785 206330212 869538004 945014139 437862380 955159274 138606482 741040796 582704017 102243690 269027693 274869004 106637477 800119318 477918240 505931200 214697399 325312690 953599298 183559438 493614842 365550096 221132524 178405472 839184145 822088497 178841776 190884711 508705401 427905690 734618096 594886788 677280831 497740587 919857954 684723648 836865155 564578601 419981111 115906018 498938711 244649358 193921666 773798135 303563347 241502404 516574710 464841284 222128446 673196385 111254296 662705982 664488100 105218775 527303832 897760962 129894304 563301023 723386872 792523881 233211750 377634312 679545135 443298802 523175151 885484786 557178323 326033066 810746579 810281242 408638522 941559553 827935466 935857452 590138881 187595702 482996441 652869807 547352268 870152896 150021773 521085870 888700405 894472081 155992942 246925786 411433269 388731771 947063703 759394816 527331860 720573742 895171582 680550527 926284099 672057792 746512913 105043968 586125893 212819978 860708157 792732551 739888812 887906939 671351880 876979616 565810772 173229624 832013317 793050324 569307334 314751866 117413996 477871266 786647540 111635681 255845920 416162368 309659210 509934891 502183766 707439055 342408388 292025057 685774232 292570824 967665276 552494352 438834057 508942314 386742601 724209855 615902715 900554290 355602077 290108883 441096793 297070599 829405983 945111045 606063474 366627762 917354144 132120051 827972592 611345527 467510019 782979533 749583088 920845135 769813655 697196192 470982547 811321240 224460409 980778692 686061907 791668113 288296412 601689738 180354555 682683840 109243234 616820523 181327483 830902908 629217034 434902134 456878885 348128581 190339146 245753277 487845709 583597403 542752736 606637262 609477692 470766089 184779208 287423516 592625784 503205388 201734030 976250135 267501388 514843222 775252578 871639766 539813832 926749260 973457808 278141305 570598079 832125240 963488531 121892079 518587603 171694770 429738642 614121960 838625040 937954026 533842264 672336950 389774508 853999535 802711666 215578515 725260879 953482864 518728946 711239357 291882607 548814632 306394002 319927282 990405922 336970477 306562713 930110706 763912095 280580584 480964614 723522579 877176822 635844217 192885804 311591835 782620730 290962456 925790164 388137672 119952797 285991417 508753550 212489378 672145852 547880686 959903757 425520411 372976415 509270406 145745085 324560635 469329163 428059070 196844754 533689614 737773297 222403944 292405012 657587948 157280479 473298960 155067212 198637796 769554521 894152018 596059151 948472168 287290359 269479129 970190517 682391299 194468619 760395095 224897330 563915654 764631370 117468399 674347008 321518441 380215670 853452853 206981690 554537019 807178522 122541439 803285319 253905433 671255822 412784495 809161528 693629440 393774502 162943949 666215895 343356587 370105470 993106570 805333892 929643783 263865276 346677196 467153356 803161036 900523981 723079332 874998785 977865747 476656918 107154769 838975037 556218134 915621974 310394686 936980018 929270342 304427409 700304569 162981877 563652995 699469378 197713667 720379313 153398190 846667266 892783387 626064309 566547901 704976516 315541535 332844085 791288583 818027369 178885111 761869704 782947115 631082117 322592865 316516824 983870356 708481923 303589274 892474542 731737143 913975053 687090239 599373942 293608188 202721553 880216688 284627532 578552311 701823337 903810775 240862889 612453959 132692304 637965619 789250666 524898340 891577590 696117103 795558534 534658325 425580885 452295263 470953537 747388065 626638184 406595033 507553891 534311088 334036722 341732679 618801057 880973486 921054946 962774564 256973160 378692409 726601187 251386298 742568085 102104210 434417489 870071457 433914495 386836161 615572878 958227197 454505612 933847273 598306568 844792143 612917946 852619680 977116638 487697717 339073657 194772472 562200640 953888913 802584411 435391568 524345527 457327545 260742652 978580823 808212137 304775455 926119564 505309601 701157715 196460092 586905069 823965254 347636696 110658180 516513940 253910246 575677253 404310874 992323219 599486772 116215438 967749097 804319710 199467365 114332331 398814543 685223632 312179266 959239181 449667644 864780432 747139477 974654564 171618741 888890036 153199183 511472520 301140506 640912000 856194144 762155023 481944635 568267192 790734312 616485135 477815692 225913716 829319252 349979518 577984204 356583157 489162998 111324773 806789993 300750117 414015893 879003246 372973075 337321471 450683001 582282649 761362042 718723895 395349891 756848722 306970978 204309108 577950008 763107023 968325076 347098081 871591450 958515952 972264587 925881170 912014709 772175998 622283832 176393124 682448068 386966139 602026021 959893755 998300326 333519705 165643441 484908493 987833308 903559290 438779428 248632721 360521913 874550608 756526283 582037385 577445751 195803731 485584377 874937131 819896682 235419879 279989186 101976805 364200357 543039016 137837540 771255770 757190072 337049562 820634623 539426976 182729851 435820791 775616586 646432402 308936454 711880584 445907330 631833111 933277917 902318202 710737070 613719203 672538468 622453644 937974949 415818206 171666693 781191732 192407228 945665671 545987110 113028813 790509858 424099048 935316109 572229848 396296641 127028630 975382041 214698660 397701609 182587089 883711482 619183559 348952520 605693539 439170221 235660894 161711013 226616296 182000332 741482882 542925272 980655119 155756444 585267014 403931233 184985483 127481985 901094602 276506594 973911047 792295682 204079378 721238147 730399994 594356558 206257605 139970021 114857285 606221174 433050809 578254767 824896843 687212614 597898462 781768297 826678133 105903696 435345515 438805027 231019609 312269646 757538987 464378001 882423321 512439707 918643043 225803344 495096014 687122967 289487389 919839498 647484500 488993613 591568576 809901246 880794863 349115370 694890854 174725734 658687623 529651513 858177322 193982313 572656182 998297949 366281170 517125447 710915429 508039055 826676164 890164174 736767312 306764909 452066399 818390470 933683894 407329772 565126166 802474271 216636685 636460553 236267481 884366788 182555990 706705567 577133135 636018135 810350694 150424342 468114785 969582879 969890392 265056682 384948007 872018593 528299245 153381600 896286801 235350236 713832494 941925442 955377625 863448088 527954564 533781197 110109396 942466171 131148441 594524852 950500941 432319247 133906591 498297642 633535482 756763865 605469685 379479134 416925606 684296737 941684967 895980205 575946998 923097759 219507684 385763430 221846589 854646332 226945595 386090512 488209490 602587272 615136615 743845282 482270592 954587807 694007167 406600488 838004306 375049499 454555656 651400724 178236721 634921584 414254427 106453941 474356404 752895186 284833649 601640098 405636872 354502554 223273158 501794500 977153360 529176202 414903415 980660575 533953346 192507835 649941161 231308344 537358712 730119285 469900856 204734916 741893469 847935437 727390776 189457004 914323601 549091006 329915281 457718224 856381328 902133566 563894675 886714767 665767805 868383420 264488147 753416942 258492349 462085633 585384504 515260076 112713354 320673856 368501621 999248199 333896301 822843013 821874029 449951492 536288493 462178830 449476441 744768522 617200388 198828739 642329583 755006728 434737127 648757713 635488960 616823676 463388861 826027559 797970726 954078558 336027015 535788731 378119521 990385716 649630720 713923304 789934873 704453613 290328960 937863538 227895379 767513328 825282754 830126634 779924070 849313662 806594167 772775225 976277629 219215882 312078578 174467038 942346718 336412846 104697764 608380472 934765886 376220608 745543350 735208178 237835291 112356615 287154704 909204333 474163925 737795228 336263161 413630459 471673801 201470423 267606015 922434668 960132125 528772140 846355247 837503125 835200884 578371870 156950280 561293475 650000228 943802293 921839405 430716860 322682237 893301301 585549832 861476546 540280623 120475292 481960844 227446699 469468715 438700173 522761834 276967117 707114397 172978354 264478139 933794106 774141799 173076040 793824252 567409180 740358336 329277329 972335695 757707811 342919146 118661000 359475496 909785776 185482962 191227148 238309670 235512029 435079015 536781320 115509649 607499866 708128956 446798854 742953945 726473471 985327532 842766914 619898341 827602278 832577738 367349291 436516321 171261331 861764198 793134214 980021385 250200076 216278796 337350091 427261086 507010227 644708789 390847776 536863681 267679293 166844047 325863026 264414477 479785206 866616580 494575251 156877008 117049133 893299678 401390457 777442929 812334124 380369423 427287058 406203594 418342623 337740185 315733256 440159519 836849670 499622940 983788472 350855996 282599379 715452218 351872841 119699841 408840130 840691703 209927465 979459368 878522016 127981904 164596428 287170914 120272585 513359859 789918988 925224415 463738519 265147006 276352811 322096259 915788635 909448797 812350318 383606698 982958889 272855814 241133933 888464370 867618878 636834068 430529470 940204568 789158508 975247766 584191386 997226867 795287711 278388347 963879792 976480668 875482183 585755177 177024131 839189316 512477622 549953330 207894351 208269041 622094859 588235313 838248125 377950053 649016937 997614139 565703673 482269629 859945320 728630608 636506277 237184512 299482320 846784082 942781159 184910052 643979460 390052959 783706616 627084886 287943746 246826646 592926124 550670035 253837414 532926551 660665822 167737305 254678294 199340117 773126975 827259078 712148801 938260431 965724180 932269042 334520702 516908195 351098805 362954137 259639423 430481044 865594311 201618910 481856440 396611858 979382949 908788963 868122960 698214010 317398995 138637858 418704922 591437867 599584186 520439664 672332564 845353501 713619221 538880417 376699514 754684084 158758028 821719785 619840515 134424030 812949844 432511008 650200857 435447100 122535186 632981418 702921860 989928898 128764411 934875425 866096494 698236659 320443852 905111971 124513950 478467734 626442235 219157870 736603251 669006915 638340071 482194312 324843127 819500247 885335407 732158561 352898412 866564737 981994746 886402532 898971489 937879120 903848120 418602566 818723920 573640826 930344993 960243816 464275719 801614344 101072916 385429702 586119620 711589111 919989044 293069765 950650760 284553965 539476841 510158445 462360456 204830727 435042135 602745011 604126454 245125786 157438005 195879463 606860601 324188759 420016222 225862034 937353511 774487889 133515145 686865615 475008544 277332785 644529376 204988852 471327808 543537950 382552392 718404931 140982150 943688113 280469028 927794879 256165619 785838773 715605559 560165248 856435625 397269429 917283574 446200037 756108831 849031112 726318772 517357827 377090228 325109106 598213038 611508797 196367103 533993446 861627513 209473180 905292208 336413644 305034693 280471993 683585777 791826931 878541760 645212670 359201981 579413040 332947425 192882234 943190224 677489561 953083108 865994377 421251650 222199952 111287792 810569933 329641640 556479262 815256106 810405865 538705734 465398882 762278576 898956532 644913412 352443938 211206239 935228854 501797812 295944395 444263052 244684280 858230352 818322110 971305960 952242999 574401823 772416592 838774534 775908241 149659517 148639521 936518610 896053049 864559575 996479791 998280256 473586751 792804964 897335905 640809442 420452027 830447613 881829217 666798045 241359619 150923738 113741965 686084572 462481065 975811112 939890613 851343601 168415496 635886012 926300738 762382598 930056453 664019135 418913185 766222308 121792738 126938407 215448081 386652718 452197616 745955838 328520734 685384591 463911298 148914676 577205396 384227198 410828977 262379117 878474655 863263655 750098682 652918069 687500555 929238731 805399798 654986664 948742464 510566923 127430688 797450881 360407066 228277756 819173151 761425523 541280897 799191481 534684197 102629645 704712880 501424269 659285190 196332650 530976639 203081825 858803994 538553651 424281931 329124819 670269998 435905091 822394103 311548982 849582268 801115474 322007064 500819773 957651166 222414520 222030731 191922937 998351899 790954790 968364433 290730706 707067626 359712484 281953270 169655225 888305475 440724731 992788652 535117938 774326889 578390301 630229764 404822851 961567378 139655003 182517797 349614865 560415199 220505552 441143026 869825513 628315902 797970650 730926337 170610232 700837158 754636751 903372894 884574648 650108456 436859526 860129852 171306644 808083848 297821535 320348845 967469348 901849743 221411279 946936687 146841286 200099938 222011378 186865771 937323263 222102320 557090194 432961572 949088121 775259032 968694392 546372458 527370397 896735628 173033380 873544164 826978460 843034110 268025027 739043823 265264348 311900646 204894591 708387873 299545396 629408080 954713437 303615951 853510838 955009561 300874519 418123603 113798311 920190692 682018564 835705712 604497968 141038601 216993328 982996747 747994284 763044058 650113600 165090264 843707007 642206705 651403144 154567721 185259125 899314379 263032414 652245898 458153485 620835528 266275832 168923404 461041546 576973165 616847378 693032259 141946835 859566319 613613187 528490918 180869556 392126503 501466916 888904711 446341546 569810886 322223366 222980936 189672309 510522605 594786858 152745832 834915767 903856627 936276305 607921832 402189155 801191637 409352729 179171179 149770420 825568451 911628602 331891547 565259409 578792031 847912898 275721796 689312702 718233794 222901833 323066421 985951931 799517720 223281557 725207973 190796592 787248074 130387740 953467982 490524451 284676599 300470831 576442447 962375557 734185924 889090154 989515849 578806629 794618354 181209973 160370496 558466813 571545519 872561247 499551064 284273974 996997755 460615544 473071031 705874176 279248113 576986617 978190305 660691634 419100794 287675851 985639071 457071383 654282837 507403204 600759769 785382038 851382459 705755614 311399328 708560233 699513619 343845746 796717766 739208871 923441819 875091637 901252934 912235075 968590422 683025910 770108152 679974813 490058326 958867566 683844694 193929460 735822370 582809798 645816147 810080705 941159499 636378699 906570438 262563241 837459367 872945512 198385053 616461289 795475562 334645828 542715447 639513425 352002842 992634055 893318212 937004149 763833145 160585143 606371616 226650769 547430544 845836999 169706637 488450798 750706488 661901507 409700834 499881943 507900987 250560720 802270770 194960465 655218976 924424611 513133459 890875184 934549728 627644167 878213978 358149367 887508662 470387310 210678752 864721204 737893518 795751815 301840161 510386127 364350270 114312343 516760500 630738964 150967445 963010011 698665114 847642898 430547860 689100260 811027090 833514521 851330349 967050904 801096117 596924216 489772061 268195479 958424739 341378641 408952744 639996335 228352738 531949455 513432882 504354680 209453504 372422481 424161539 439686455 854492195 254459670 431896611 772766821 580274843 955430943 236546235 493040308 187527600 330154635 167575959 446880841 158068179 242570826 920208566 907691091 824885591 194208573 423585766 728117465 161905798 237563833 974599792 602277935 194672917 780114002 542181858 864134756 718815900 318574867 568391142 821619515 859488949 883348852 322560038 420881939 403200397 248539408 827269158 906754886 229305626 441058023 926227845 843792756 489516687 290942167 808630039 577292406 561011287 194022232 471547707 211336331 458702194 534339966 214806666 863577664 107684182 642983153 503024792 234872899 277605799 324558427 106652312 201652616 288857346 792008450 954735927 917326923 533036982 219400722 584041285 374061169 674687496 686381875 815659454 220417968 492634247 589434270 803696040 592950216 582930346 423186032 535131194 581201895 935248696 982194296 473836105 678297693 462031417 285699599 351948035 519553530 197709208 901819385 124575719 976042918 108280906 352834684 289074986 898621926 959331698 741129664 976665534 219449380 986788888 344130184 112702267 874884074 662668055 609632074 638150423 807092133 451425133 704276193 845602303 122713547 392206630 162410389 950514051 752805917 535580194 912399988 541697244 521564709 146749690 300726698 957196898 590647315 488589619 909296985 666420458 988887088 845686515 311086026 108216297 230396690 903788182 546388657 257253292 862218622 539157577 766994413 792614220 281776359 456850481 118723158 195080360 226392266 638223380 136478462 744048898 253602923 831684101 732465203 964098487 245689201 493092827 784439784 267441569 639770324 501478358 973651790 324608924 434602754 187575304 187255274 245423899 218728029 467687793 498015155 128035992 424069269 428919535 989352368 234226294 568346676 917619352 950380890 687909083 444486448 926860450 695308695 376364115 326433016 315369181 875438021 360810959 944614383 928871367 426612271 702532185 728832312 208488236 616744167 845647192 293401970 807498452 694835241 513578207 787511380 691632809 676122549 683634046 408637835 583442018 485255229 907709456 420091094 472050929 568030319 430629658 151958568 297648196 583782801 282485637 291730741 246638919 239897059 336554905 131191277 771552027 366231970 249587895 317785514 532387202 734322800 537311580 446798500 936860360 587852387 734700313 832375479 678956302 337977508 695612926 271307264 166437607 888507859 994868180 124224777 812534138 294937906 346543534 410755581 109183748 603093580 927016051 469867682 709347772 199035255 217159562 110572567 647048381 730937057 303720520 670585509 972418006 298059838 986882037 912940318 649905830 428960942 699937626 787448559 516487235 254986079 955904089 147280450 889773261 234581220 105305317 351401681 336288343 798293161 814864900 289807672 787496634 553525958 529823004 838615511 438270887 305342505 580266894 874618994 730823099 901572053 901081384 707946412 422597190 459472533 805888441 706256016 661798768 849856601 355030783 284790356 246300548 625974591 495177826 562721516 232176250 430008513 594455597 149292529 908996882 798302634 415174947 319582644 501409220 797261101 362409994 459595343 199130458 525654153 883111219 598835832 273640180 261016962 121504632 219959371 351761527 457926895 676156996 132033684 943253446 268404966 310315389 265927618 533035797 520514413 987849773 908497696 206186026 370259929 448820727 267659147 716294002 573551295 730519666 280264402 132235733 896850983 420800516 491926310 948239366 592752035 553687512 847194113 611645222 864224851 182772296 285520165 869062751 270679435 188698093 979716897 901137400 358671777 102128446 191962601 244609582 979759756 451902310 967244470 367144137 319930435 678113115 749277415 624743367 529009128 769732422 285400522 329738100 869536475 952553991 720199432 762926682 498904110 675514847 206673742 227795505 940132582 772727637 619450420 507943632 868552889 732392056 599730426 150463343 171881498 803635822 267928509 905915971 690417583 448830936 362293306 401479482 606276714 796184508 422814493 292991261 370747360 866701602 915447173 832600947 783880851 905688927 753055507 752334130 825378444 483864834 231243329 916196992 530676420 336928099 739597273 247818229 316753930 471658777 294775391 286129203 400688606 393549575 764964262 903222565 873241796 833066526 596381602 861310672 760246344 786005309 307647350 517996378 847955792 484463715 440952120 633349785 505879189 376555920 633683169 143650270 119360187 150874465 253894780 996616011 106697833 916195636 157769067 545343203 804559633 993257776 822267407 588936432 705994611 501081323 958942331 303745026 231291217 961260877 494345155 256938260 492538929 757807357 152582740 467139579 588599915 954006472 670372056 478623126 624308233 726186883 518615345 955300318 732705258 809315784 646546984 323805865 603029445 387019059 508053248 712283579 743480154 334356978 226342280 206292397 108661079 870829419 872424946 316228671 709053255 423856332 664336626 805819008 197405466 636472276 335194141 253923699 590562772 346164787 828786945 409276521 894180769 912343678 444512321 897552221 162048961 358665283 396025718 754723291 144915150 487414929 108282032 120417961 487982845 770043338 953014621 202420010 258966015 953376089 448216116 430725887 363210396 797010682 804463327 493659289 324125659 137526891 987721793 560744129 751543129 455413459 521541709 251791807 183329386 173293410 973109650 524749917 344598350 817867273 220152853 507455905 355931675 178286463 604274160 158924063 393321214 424292643 228026288 380524339 327590640 649317548 862601487 774072959 569336446 645073596 810502616 254788173 250162142 603378770 411956650 553747218 502459855 970238648 874178811 671101604 282910087 455927426 524773107 494832022 733442378 510546209 982508033 975357076 135184668 116202821 382076546 951627531 932850335 538175019 197517946 419805468 350261634 260702535 934955043 433466291 261740538 996572001 801190624 489059524 425096567 130464449 438468029 936246001 630316542 795612837 668261367 570584069 276970888 705018202 692801451 714631010 457289571 980540251 569736102 344087676 984258031 957774206 393178256 462059531 961991591 496649104 167095748 538335676 696983068 985838405 413060903 439380973 806037476 684293163 651827423 715858969 886423177 362468791 211640707 144550833 945354941 820711280 603714758 584422830 165199551 420808360 653297740 419872141 343926566 648020403 256707941 951117390 278551572 716130457 487708726 744831473 363466145 740582027 208099643 236684396 132225657 745117226 525359387 706622812 408346595 611930880 497156729 390656606 827545374 963970145 701607338 134335892 231460805 668928194 652502384 675224063 574854193 474157337 911669191 449189000 523670775 550259673 218330618 150061699 933388949 503279633 296635547 777856993 548489490 213325011 332625267 462696753 346552050 629701771 777159941 831618787 128572674 312021200 730468341 263220956 991060776 864058847 655159656 404809323 579191440 985275147 696529964 631858020 742800458 784333296 556312975 529182557 375337436 670587824 157101576 312024247 678486664 523816418 214563535 405141150 982600324 433197929 338950848 366009661 469510856 606871381 307094191 831091399 526834608 986222523 178138325 931401478 287533754 287343036 411610535 958292184 803984440 586846145 508862522 251529089 526993234 110952467 841547598 455747609 360714257 946963423 375760183 559710143 332171201 754887347 847806632 797718772 289609610 489288918 668805940 158900722 531907075 708942192 608941312 881234814 156166579 376071244 637136393 900168244 699671646 523933252 828469595 703055199 886218795 870795747 230787288 460125843 813749428 163491847 440096138 615984824 769702743 291312077 709148395 119921135 718864212 222046565 629384068 545667667 488221109 901495832 462414864 196416763 354635645 733607720 150851260 181203356 734936018 589266799 505374767 849666864 732019770 214328144 285660444 312171468 790526697 419338219 237483664 966373040 350186239 250966017 343493435 385827861 737039687 965901371 603796375 765456147 549534912 323789208 426381704 993434537 501838872 475337960 387847377 546561913 933460401 892946820 527815291 267850342 383359242 530891876 554095127 907078092 169117024 816644555 181027468 491052203 216745787 552016455 733737061 808547767 740979631 692642397 340935429 159643152 374995399 298372628 594728135 299704051 554255970 620227089 592554844 627641201 439379077 513050798 977133834 287802457 327021887 469949798 811911167 226511798 773787731 732451967 413272493 578241225 814676600 999290456 460066023 402971829 664597404 504335032 780827096 250893968 636234456 909603752 209593498 344825161 759826880 867078206 663813249 249796519 840623702 569212019 533050216 416240662 802323018 277360114 546653508 393249978 243994002 436881216 723701951 742176816 502524792 267171736 716837778 198933989 453571725 939217005 502189520 674587206 389599475 201263028 459667494 764364993 704658772 635014555 851578116 154543186 372684741 887396897 954079650 568200280 635553657 426279477 221330934 627345312 675244950 933598699 566621980 790936399 673731171 526976194 193372364 872287796 159893261 401543090 600901607 825884870 448476518 808356222 433360650 965654038 977882243 903392635 833372137 554159584 983351003 564596103 285455741 864353148 447661439 422683662 750573865 773918853 367384456 598624568 671308874 917983844 892952806 997556584 851587985 287532556 274151210 886130818 844947506 128555943 820980453 301282359 325714684 525183308 699850879 997862310 991025077 338491408 723057717 531217955 734832272 451256084 518499808 638276013 366534960 462305029 399878259 316328307 708668866 132850920 549137603 777143311 360028576 506432526 874032239 168358091 191937317 867028182 106688989 273215298 554297861 249312621 114602789 707315679 615355839 507860187 117767202 970423433 304645044 878474170 888969134 321708431 421495341 608926444 871356767 794116654 131088147 145466937 480943945 295294815 309688708 471351336 139287930 981168894 938958223 583857464 763926854 313819217 435149985 113624754 809807399 106005444 784887672 860844609 353586191 995992900 413818286 705200749 674961199 312044272 884594058 378246203 363675057 370817122 998996876 503232778 166247143 319319502 339522960 603404776 341544410 726240504 867882985 913251339 145979971 751731199 739297224 488924067 577067768 504527231 906789814 718579534 753355603 182452373 791146381 239652606 899424228 993854739 720014369 120903102 967390633 758368531 921718260 561666128 423024557 828835900 706584463 404305776 292335590 300700258 521330230 182509196 790731515 575240882 116696607 546545797 767218682 456757623 512637723 223745783 529816370 131018323 755706906 122126184 564407961 654055726 675173556 453583602 116618983 497136132 548545123 818457413 203340830 668970007 935897383 487425162 827280673 314985666 613585252 600901728 486139644 362119598 407086977 222180046 796496257 404242533 825460282 341762484 513736742 215354573 993255997 691263760 229512274 620758244 120770517 453968380 864146464 747959101 749399781 413297721 390043986 560920945 640644545 932217015 611655482 136576125 699289770 217560973 988525734 714727773 550196360 255380257 751846869 569591851 839655239 964896589 958298945 238575195 391042395 684900263 217365013 873915108 783064761 592966098 920236013 978205291 387339498 979506902 509623501 471345240 185504351 482001783 801793586 229159635 138567379 327990039 794410626 791627323 477482932 889676733 668864218 915632767 356657145 565867990 956648286 981535688 513495982 531183721 887816326 616009926 270840178 998974337 292681606 374214907 787017519 849268026 939283054 995178847 519115598 765147386 674835619 843946294 784863385 506713261 263993411 878457529 494155707 129280711 671576971 155691884 588793257 731198238 536560100 424473245 133444213 347602382 880525536 857712950 368114783 292452383 820253527 364785493 853098199 750166873 212431569 769055352 183034801 518465062 852035356 913807728 414541857 227980734 689731764 315258931 183276215 541988896 590267639 616693670 492827584 720897164 306152658 202587691 257482835 171505229 672825224 524049162 790793094 383827425 178633543 105272353 593626681 395566633 762140416 810503510 114336832 728284857 416049731 251200890 312042079 318737199 901124480 554374525 427487426 305397349 622112767 734661250 683806853 363336011 290942806 488027325 337805813 868957470 954307181 183502162 791189154 494970292 394584420 255777951 330292057 432749902 107027200 966731757 274977832 389187114 235971147 629618021 350512153 770763363 601802525 526382766 318802811 408320300 913385084 574334309 190695179 485739766 501469406 545742541 785570853 400657145 613493101 698681233 422854279 875273436 978071040 595901218 511356058 651887610 735651447 767557485 106470058 626483986 194383210 507486090 878105764 975879357 351684161 374183283 775154967 833407389 141069780 464368065 864088049 280345888 233847853 145006161 610055820 320556242 211019362 487442168 702581722 435360684 450187279 643281497 511124606 480357142 343151735 492725384 136045557 211162460 405970253 805318549 200980160 458602902 325087422 772390823 715117588 227942942 285328138 807590203 409820140 743865140 598781439 753312514 646858546 964767396 716114968 331171609 997816129 475833119 905686852 469351572 646794512 586510264 978461894 446088358 850531854 318530981 762645394 897418853 736734892 646802672 985987686 996942486 541924957 680428493 505098239 898882317 246374108 852339733 503346258 757132681 352755616 513457270 641186734 970234126 126571838 384795013 542734805 162661382 461371466 334909228 348707722 486848206 945849161 317274584 874848102 103259949 752573736 591087339 563830781 927120643 165319645 420078129 668418940 139507192 796690936 569555119 955925102 416954318 587831065 144927976 455514554 466843027 470931131 968939933 806967398 622169229 558461633 701084462 888036178 699304620 352774714 509374523 207200061 445621555 993916985 521426213 720420714 168274373 689531708 324529980 367181957 516556527 396538919 946607628 641352294 114226746 231186167 112144161 908033112 670764338 484506369 787864981 427942526 314380454 952029714 876355661 689870729 447668094 583370438 445286493 247088558 400137942 999414457 930815999 950686328 659331273 361656792 156157504 175566391 556586810 270535671 713088593 936440136 145913495 744186799 315748196 899845742 284211710 611160693 950214020 362247587 282654949 281766675 358951099 570514225 294888470 330979133 946053491 165254656 380836314 686613110 470470924 453546714 152299964 164315577 449273224 339353049 898193672 864537189 244126419 330422302 560521620 707366249 128911274 531736567 635261665 707367676 865846008 609250289 522129193 970783400 143354888 293950338 389409401 175909258 512354897 933965013 593315226 429500292 234408150 908299167 740010497 399077456 460615659 103927617 524792854 963298707 494339121 553971771 557546671 300710745 527129510 323037340 642661471 673520001 823868513 473183131 216620056 926619979 235723310 815980862 650602522 430263093 108608363 890523234 318716015 814918602 667377406 504733032 238002594 878431696 626431158 830366877 549160285 188661719 749631921 261182682 803135779 392330041 984129803 752759944 940562190 911549083 892208220 822007881 763559377 767634020 159150275 185409706 877602525 853855149 630689648 403905535 937020018 296146151 444675067 802839704 619188534 505233801 386899094 646619797 685072788 626632697 444424080 237448696 559514830 180303454 840569282 970389160 300110276 193904823 262324872 585378018 139631019 953642933 231557135 540332527 447586599 513261710 686113433 991899395 684259512 475907429 826733566 953963632 113255447 475484276 498859153 803565379 356235121 154390837 173078197 545779130 856093590 843526532 379015357 534327301 669861738 431592654 887034253 620858142 388512349 153375178 754809329 444408221 369374880 121730579 162395019 839004423 746322537 374248484 833239493 681934915 755745957 629040985 510544554 582702305 614767606 811433169 625778663 727857943 254898642 647144835 945448280 596945896 462000400 551265750 912983744 960613768 903882738 722155486 392990720 264580478 404487439 106420984 548976386 338264262 919037597 723452437 536097081 573439937 757107400 202933273 483151869 273911858 877823867 707750968 516278698 144910823 392533544 403556060 170610711 564241701 135959900 905964978 907523385 432877928 308187539 739341517 742955955 195260446 208043606 286628056 706998457 857755049 823720166 166399695 698041438 849981009 314967164 583251717 189087986 102829917 755410119 598961866 663403771 378454924 614760035 578921238 624870056 912867718 913366379 642696150 899130119 517716468 628232265 839238710 998529495 529235693 422359932 222638824 114874914 237165740 358399853 259848843 578997380 337770452 479518028 320549227 846088147 303190115 113618010 199276372 615919447 438946062 930856831 305160483 489369578 255872743 247642758 536368697 941506869 709620209 200941704 604914033 431309118 424692609 480604433 471121506 953075606 306482988 617361889 788619726 622435210 834124289 113819006 440854436 524277748 521295640 748240840 644994178 811802688 179445485 529629816 359722859 766283331 188066105 784297771 336080805 531071742 506438511 864946159 937410036 952303588 962618921 999683887 646026412 343437922 302204358 673509332 108768838 951682641 764613461 548022487 736073439 700288831 650234982 167453935 981886439 196188273 491775905 575969942 315221113 732170766 232247788 433413591 850890894 166936436 217533339 943677486 218863153 933563642 967380245 318322712 131516290 866099230 522625412 228989242 218052044 395211828 791838556 596563641 504759884 228126580 831969703 341509908 461735522 525235134 317736490 465462412 640320954 848526926 479670879 127084661 351729924 408982051 467938399 303290981 319270488 991172380 713228825 352992534 229568739 110821388 892270272 787931968 674371076 678539800 201522531 767969400 707564932 953839350 643073863 842560887 413815184 624273849 590630584 188679546 899486873 418289440 547054639 349141247 383222499 707899641 281349331 543128634 561531102 903680011 624422903 165342855 158640145 160642965 168639423 774964936 548692080 504209655 153497090 803353518 322776077 301810375 252440181 196577200 846658665 509583998 166548681 864531241 723821541 917527855 543459822 596460537 461606466 156764147 682468086 728279413 606699552 510498696 298239763 688631734 331469150 829232779 367988878 709870766 699695123 244622061 614788785 657491351 630865481 872066998 499523175 623287607 762327506 182220593 989713028 440016336 996666051 960713824 529743976 611997132 895173355 671035924 679827045 713329761 938434917 433697968 488194703 827221822 301676700 954679978 429735951 691424960 554971133 894207008 630188347 785502264 738233019 783160360 683692946 894530330 458470085 938455675 421678980 520790248 981741873 232691249 911268783 700528062 247156684 522009630 595978794 795820269 666561921 312710121 188399634 278245058 296987861 234636025 203231542 615959933 768666370 612605247 422063550 492292518 556392071 942310803 476692869 564876373 401896688 424332730 970865251 125824236 707033885 751026188 198323468 433880651 146275706 539825477 960050145 524309353 310448226 418300031 897961405 598091151 189256628 879575748 445649643 857709175 598848998 437392820 278217189 134862131 979611330 284720770 832890742 242270514 959227710 459237762 351209545 572497979 312485725 612136591 520903632 852420059 169372753 451799293 889456687 254705974 711209935 781646623 668534768 234125345 545839572 662324529 167445633 324909826 239506353 891786877 287657740 197834321 982105956 538056347 332649409 588534529 661634444 964104354 721659073 420955098 765514944 560680266 551647024 118226192 395715560 867132279 462454312 625599673 132256430 872637189 377050144 979323032 556487833 697539104 917402684 943800062 212236445 854503828 785996139 903931791 403219802 486882015 967974982 645482273 622259511 671707618 781233199 351623063 565116448 328927447 654904657 300374059 863580021 630195491 898468808 154598755 203993508 123188605 161978810 142996064 651325531 388649208 916643200 601169520 940533132 290439262 326553205 988173824 844712509 982835115 707611189 320848058 742246804 448433195 621639528 152280034 730083318 355801102 778278495 654887072 809462216 664961123 283769086 722683899 200028565 670365722 813236941 885506268 185467307 847281834 780472490 995261067 679708637 954274080 581880425 351506542 595729361 898677585 527390577 570167917 949774307 145170888 354854378 369635835 937549802 839575399 255612353 199268120 934188482 820223433 321639196 185142961 802331351 381300364 277238691 736877034 892598563 402680892 807822392 674669402 732413600 272311593 696586433 386242054 427769124 677642171 265808334 742490685 516740688 592410616 219714987 462025653 345490855 856901464 794559007 111547109 222157536 115354972 242263984 290823365 255675966 488280483 664913773 320661289 554382479 302224897 416754422 363282104 459089563 745863287 103659296 557067645 509575905 602250620 602881417 885408634 197580684 157483485 264095030 999551980 535034703 296615985 308707195 527186055 671507314 958861910 459195396 641183683 220129561 125990734 643559267 238596652 558127237 962187941 284952770 993404306 526045064 846115127 844100355 433402521 693784144 570383643 728742568 442733207 288558049 246063737 667731559 342270386 510898510 281827720 601939366 320290335 309580937 453398432 905257187 929688975 898529432 207538742 290378168 207978605 682541781 462971453 433914632 282178651 719125315 688134526 148692974 375675326 579870346 649088615 439812372 926875550 832054975 744211920 905860164 206048080 258408983 242262198 802485111 196164207 110639418 571945818 732039320 518498310 892411298 792280059 509068911 894032264 231725117 378769884 139653837 168276149 670265442 484825474 708558506 606032945 281447980 758450081 946539030 236121015 534614055 509413289 791923738 260158046 304654585 324940045 318568716 653582747 261119272 253287234 772592119 273573076 205952016 115552758 773844766 969860783 756548398 158003622 643491659 946297663 824892193 102519496 402014727 199026021 694259150 836053803 849027925 364745581 173812846 620106441 249581074 415489618 190522449 620106264 756997464 261092184 724454124 749347163 125791904 604430890 826266403 571036621 420573910 591777616 925647927 323469551 692220736 676557439 427440100 999052276 220772158 647741364 896679898 185129385 910029835 227454306 809139514 253495131 915228270 912778136 652731380 377611750 749112129 354016374 983764433 914450128 207915321 628498007 377164641 884811815 202981936 954916755 477041246 388839207 576424520 668518475 936484395 159794166 327361008 650945930 922155821 564054040 907531099 803301341 678029383 926717514 919686688 370647455 453922051 459369141 945432598 650296993 131041196 977927184 728217635 469083117 185728315 231165693 779363190 145897752 321594578 761893377 676499358 265541955 417598135 514292379 877825660 860150612 670606245 438098965 756352396 151448002 247870299 236421649 651233455 353346846 238111230 108128387 899938394 429268036 722285021 208629435 239379031 680368139 383705398 510606747 300090278 215177620 320700453 697158096 666118705 273682346 668027452 497449351 618654435 339687898 738731934 677291273 448351038 485300738 624146541 257360575 380548469 836008975 913518681 579981050 656556152 224071432 261235962 488550138 728162021 158438043 276944229 651084358 826970774 855612174 538738226 150074645 690510670 306121340 287194200 255082900 150961311 946911878 323047480 941588691 565786272 114015903 531916176 791713429 626643687 420382253 162913696 602086962 115750704 507699882 759302263 937179721 618792458 391656588 563075547 215350253 840170209 454942038 897131000 761274111 247443848 256355660 419059081 784858265 278916689 554072204 106273683 804206514 959244918 506263854 374851335 870520778 138495173 395660775 693078780 526218194 112046343 421251830 698106777 241394322 714461774 832499097 726081056 101458106 840131925 359075498 501699804 875572558 892019981 784295976 409168179 511383227 997487395 868208623 789226864 599400982 944729987 837118793 292483623 835005851 239135887 224128579 965991835 497077237 393093992 559664486 178902708 991920644 418216079 347440706 417991882 500839265 783231080 445359044 907011214 490643798 153448243 471032653 315131301 453445013 845225886 505457503 459937365 341927743 102346837 537430035 951173893 482338586 496081714 714698970 357604955 383924310 925048558 984404593 214367539 186069425 534430097 650115055 409399124 358557418 504382802 769538870 540732099 374315641 557235987 117588669 719215791 940279528 750922803 258947337 146277326 329548749 561519578 595339253 998230899 912535984 453429872 731029513 217306348 245541892 538647548 464072603 601366083 684648966 832255120 917080070 298409554 317891851 878604694 143831173 440885564 738231006 578564732 141375752 620550937 653624201 300528382 703253886 340351474 439787529 769050772 469511468 656146967 122025187 377271305 121091710 610235614 912869973 110431612 943285613 383352835 955278527 785345656 959784995 308586406 446173346 139725739 678432532 224091735 284098232 111161235 292211647 603860120 707434015 848652962 424503390 936517474 414380154 809709090 632549311 992246119 792846774 602992259 100710734 953366901 386947630 516800934 523529111 603639343 549560393 122639893 689973415 563858186 166703059 102286358 359740454 170909548 913691154 790120546 822086391 393916290 283578848 452459768 915565164 858503802 640017474 413937504 343377635 240972313 389397308 522759946 862782531 691460544 486508095 875654543 881158414 741147535 633539110 121809837 294095616 567829323 249717608 793930098 788516725 159649912 346155929 537874707 815211386 525411110 735867396 702099771 145463597 923524852 627475785 725204517 741030093 788363399 123356670 512361696 660140971 915838290 885994442 460979038 912079562 991040373 801970569 411332666 311974940 677820773 590418092 853146596 438509780 374720841 560210234 963260403 885166426 888648696 461462271 293197452 920956667 633315712 334594962 796305011 635228750 589727511 169763515 968665431 905866604 466744998 385183676 915124733 724044774 273651701 401641955 123540378 892992802 488061648 243362912 247054190 522061253 916395763 623570832 296555246 488233450 323508114 970303413 480180918 671207364 902935702 779793523 329792221 216268382 465899981 573468311 592920634 862210099 554524282 592482213 958910534 848081238 209686276 702719629 407263675 315586996 887983235 138513736 784484163 158926933 504541272 265618839 268989979 473923671 270578265 297913777 948517132 790105500 607267549 768575377 461367951 478737890 953688960 204086360 727591399 152566009 366110610 794589279 574086563 823391333 537095127 192503846 893934282 982177801 526426165 161704358 212901128 916890982 400228148 128849824 750800297 722998143 239927604 507465446 129657384 568171264 830642759 628216692 832513456 233258259 360086307 983031537 363655962 581329728 355169071 411614868 382276478 683552019 515162240 256772458 536891545 740662739 323925844 469043684 732917689 220427074 988301001 409719979 264559270 134886584 877568420 313076753 221435182 754537212 524891130 827085788 379647720 647062538 463577698 896096906 452670031 149642392 229900831 978731601 649633678 262365781 117835325 631496867 510517170 180478114 899914460 280936523 465125105 225321508 670268120 709700158 865432825 814491818 752848081 472957997 821850297 432153557 122517440 298120987 474468428 604882798 920688828 102156498 931326387 227996498 605695437 142029845 654211150 567309426 315909390 772291230 966811821 414874276 844905341 440249894 261221327 551017187 724037827 269658672 800023976 846177746 128816857 717501805 683276884 911199208 760996712 963422801 840763021 561370637 573045204 322709333 758693564 360868339 976884480 713559260 799522698 202852350 672870340 226911423 319366848 791155191 182498001 729958048 108535910 981948506 218974240 285417642 823528568 602578454 507211150 426199849 738811613 937869261 182192200 401952406 555911948 446493774 599953536 768157539 858227420 162033046 699402550 433535016 201651832 597735108 749264487 984200193 579125571 700573749 722126724 708943007 295629673 923628418 594275296 761910403 657575637 138029529 469481112 468682836 885732259 610026598 942407606 940409620 985341216 198437592 296054183 739028696 132467868 868259076 311185227 412732622 124647749 865431555 354224037 292820609 470667244 722526259 777716445 743316726 988527870 554211907 152160952 901740495 452126513 775321032 692491285 533852116 466342767 135084865 569421035 286969473 505289664 866553804 564823706 336745084 815961824 878615033 817082020 256843391 546652059 958188691 744064129 522454052 901985824 223943915 461188138 861795015 849481557 401110108 617763181 978493755 187932655 779533187 831279809 251945518 787395130 592710306 830421623 187399997 301306250 319192201 892718687 719862189 200694701 867322750 183974448 693924820 732162180 717805589 260591479 314194349 729643514 910793416 828173092 183573730 875337571 852068622 574459287 869574111 410457816 619704169 140850365 258883111 423900601 223832729 820331619 521394993 619782391 479540804 406348730 865950999 610390181 614324737 248547013 207838809 627247024 507633876 705803370 409625307 696268013 170180357 502278916 320353488 354161201 930458118 491650096 997186887 440601493 936311731 616572098 123702643 270358270 747199448 861673558 244203539 553137841 951054657 128185849 683760089 719281278 180375224 521077745 625730547 396858928 623764710 161586190 955613567 964340968 227786604 715831024 130172854 446379763 992609596 256975777 229916626 178280575 308170733 441324939 510872875 363727290 495625226 623501524 511985632 924941263 637771873 774897339 377691856 147884777 298016095 155243957 446151730 517333720 306659653 914747794 241179460 732458372 110856876 491970403 118156883 922633442 574815084 631156511 766492336 664266962 569932366 664534206 551324431 596535522 511168732 616220762 731981534 875318383 163375785 715497841 821615784 476022790 252119198 214579972 935813482 414222334 618439982 939956638 621798575 242497756 367192802 282561743 814422888 505311756 676361562 757809320 733032276 846780396 150480763 277048718 874475596 293060484 567310249 809292109 571182277 188418180 205411388 445281708 703465296 157421759 309001366 860807740 237075259 924609177 454690324 654560507 633656709 951440152 973304979 244974027 791609413 826420217 396846284 327045003 859001869 954394326 814770834 983052941 900280366 842009324 576838291 655947339 203504126 565988319 359327135 123434561 725174550 991889920 884384845 742760135 831437947 731196442 325838409 349164338 195694601 916986392 787150645 951161291 823867252 799336533 841129223 838963974 290325255 506929945 509542376 355922637 768155386 504232409 902929526 597504550 843050678 422598994 703140684 551595336 371058532 291870716 255178545 404081206 661543104 545745381 839246448 267424178 799788505 972320185 134925784 376841668 333648027 678141829 549410178 921066558 334516953 758428034 960648175 125778421 181699957 804540465 742898139 391040002 993968101 810646029 940427558 231603954 817654472 872577847 628067081 905827191 198421270 155561071 816602942 542636917 639542800 451057189 626788412 943180560 667194327 506445168 718952096 761653539 274839956 281060947 331203223 872479628 566935278 981917048 298082182 412276623 777226246 458493972 230508293 671621978 493997056 249704715 342150603 746287299 483158886 466662501 449966064 936596932 223269591 679856912 567524023 798863010 818432901 553873720 948068185 372538886 611105519 797063475 965218228 199668501 454014950 637609185 633827055 781000640 426643946 977949263 306491853 837563588 590736610 860624647 842005526 631794792 888986523 634000101 758092686 494819528 513019167 893726340 420105386 847340321 622558348 363447941 257725313 878276810 948998544 749680000 890060875 288633266 878261103 383225298 296830138 802717238 554868262 965827748 178836227 861871145 259870702 772210717 168231464 851981773 799391854 741801789 597982714 205801471 906839673 363995087 353086909 187156929 891737714 118071742 999150562 475648024 449173414 548308624 733333851 428354538 589706532 914942665 194196761 952385920 641870191 490289773 561881000 555080090 964177757 343208880 862732041 587737528 203888557 364818816 127139947 837863505 144025259 807372524 626254425 190774944 738808907 542395077 692968482 822309581 938939401 715718606 627414077 753780612 569186385 372394953 124555251 423618622 474166329 955762165 250718501 318523862 394390677 351342497 633522517 347917957 257209686 601156052 436186824 507015708 451070781 797126380 808585269 451714321 431218527 970423842 865610659 879117888 519844176 917709920 931239518 103856702 768800824 711992937 687569257 629800505 199611059 262173149 182031506 772731721 726083290 623870709 991655945 809058868 780273103 854377884 488355425 601080277 617724715 124379328 556455207 824424746 671312082 372280622 363622194 459237794 634372180 865193115 786023661 485974806 260822328 155608958 344832915 504506207 352907386 702689806 513681232 540530069 382511125 598136360 230450149 340813839 813200921 680454657 675844151 523118628 871640368 124181244 615839988 680060105 494290510 799612284 663843893 771302645 727613247 231643728 355287606 917530631 369891723 226073396 847035228 937420567 127271411 963931526 852974262 209151279 494431267 819580009 438373794 441546428 752226654 740284131 917721991 937508600 606068593 463682105 889308611 758098784 153082191 913325625 962084276 697698692 517632744 685537361 401925820 115609982 948524638 835816402 190414656 646860982 672645608 216471472 590422290 728577625 811556909 219751193 899065808 397183080 837807420 647742865 124368884 379790155 604000187 166896167 151912764 886972410 942398619 309885927 797709318 952068015 335595646 805764110 874233719 965965267 737919912 487492045 869672121 501600568 273577675 738780244 771425357 125306646 874052761 184229007 499033111 659099785 922497196 578561906 528460988 391028925 722431298 999558905 892248841 173959225 151586712 856574163 873683050 566716711 882757477 486588631 914905719 193652096 697986600 727930060 955849324 398864163 491338359 389787582 862146518 892022174 198187116 768472410 623838260 210134235 359365929 472627952 873905855 674190458 585368338 315337288 947839872 178000422 121804875 487053065 388050578 378532201 796605973 354179949 159094019 994696132 161349291 439674669 478330770 903974431 153614508 628368438 549280712 183996041 289705035 869950595 844347509 700376798 960968222 717650133 657777065 918065481 530633652 931620376 253946178 324146886 610662478 873152725 197601574 239427052 717337778 327707646 836640270 174299654 910966592 810237976 863752471 634401664 564592412 399250900 472943109 727611822 709923843 271737060 740268350 918737754 429681873 574856267 343853865 817297044 531655216 475618194 732708106 134312788 413584463 876505937 307040858 756154389 179720746 704693562 994562190 978362742 229007272 639314028 697241257 193605579 243071358 903435817 630676718 362921057 707892157 645469838 475202307 774900077 220063324 991694994 184131067 672940703 531235731 719046119 268481300 631915233 859259859 613611845 332844533 408293077 855091587 226702946 212505573 834671984 557682953 173581957 965942266 681193881 656208628 932167396 235459666 668616301 514513759 651731749 881360012 812884972 946691837 672127590 197600764 915267472 837035244 258215736 265001858 776263521 309999796 695363915 135359485 734179309 418902505 308459707 411403560 772002516 686664120 251605898 422728513 353806353 396973148 447037888 616125216 529521546 897900803 577552359 138101763 489934112 481016312 414375029 646422300 848691422 744005808 860174838 794234021 832737116 507954049 269534727 977447243 541334991 934384461 583787750 899380363 413812930 367757905 307386971 216786625 173713837 706741545 848891975 296770972 265762041 638981336 147605156 297874602 171108697 170670940 159326603 268100584 841624788 750782458 921941750 947433952 489047341 410186850 615048172 377037768 802959728 825441142 746626918 613244299 930507003 470397494 371682483 292789482 679630848 900749123 502831110 977447713 601356353 615191220 184242797 550842472 697145057 300073219 501621080 883299535 285919632 814884993 895011791 792951523 268416741 598516505 209377089 346595279 463788418 787037245 796366586 959341633 317694034 916124534 429460760 820868346 667848987 523207906 769665380 747875366 988345859 222417185 714344052 975845065 130961991 604088912 215671545 912758426 412714089 842726272 733581850 252547761 474166173 611926502 381241437 972589729 741750519 954404986 292151276 266444261 837623217 779888415 771087177 407784037 284724890 383071284 145863343 252734530 308555893 672726423 615934696 784133413 784463905 132085021 887368879 909249024 674105793 563499938 510835680 110398739 426579346 723932831 780863164 494241086 998386127 941222687 372589288 781590426 799337232 552539841 751252940 208236738 639411791 930444031 725448487 819991886 298086946 272953768 184889023 737128614 380412651 482595421 521982175 950359872 929440433 901109221 453109806 875660525 335214806 554883381 431828628 744816412 605112375 678679778 904807726 769731150 307821498 821444209 771208515 416450914 292379266 650168090 933782385 195991952 631276236 785291172 510715805 469085026 215474257 968182455 895154589 556847373 775333829 798162749 705637983 200647255 353220298 465831197 283117572 704073284 762139930 707157212 563660990 732952861 420030585 494340907 786794942 174376246 222382645 896624452 466124648 315413206 873876421 200929155 935567264 980977181 974310829 365711571 561359786 630579961 537426294 691202496 797366487 547817453 916717866 906624478 639061393 672433511 435345228 373806972 956470317 103162478 558519833 136599443 144894981 676816884 975744378 211632406 280038983 437851789 559404171 805654174 304223840 949544835 721786125 541153762 317302862 241185126 988353393 908928890 727604979 350954786 474223245 131129237 641568594 982419075 243675842 164091912 682988287 167979036 837465960 296162936 603567315 277175041 237384657 401449022 943321383 901616171 861992778 543196546 252953714 302526100 180756096 583094650 505207982 203779711 688647306 704188660 842976467 790025536 533242450 487243478 354826673 316815415 562301842 172105282 877406928 717328913 402069350 719302817 622278732 983945495 505406263 474551867 642287884 743596365 406078200 854757753 672698413 883050573 498289543 281868058 388999647 639972073 105227865 793470799 936413113 898544602 811543843 584187005 560706626 480485898 114708702 498126833 908788535 686607551 177270762 873439061 668738056 119106323 238732617 520862369 828880837 950233475 159035726 154088421 689588015 928183529 210145596 548215213 834302784 290825724 642367483 138662420 888584641 636753355 395973247 529706637 477365394 198440693 857798783 954362724 883053201 452228002 654741033 187940179 658869593 945034177 294140935 691682004 466648329 694560405 935948032 229409067 625296391 204550911 951694423 650086581 536817879 945779024 782954485 136951777 334017972 998193163 193914001 568518056 409998252 246613861 870992979 391232888 822140746 372929181 860927073 910201163 700807406 943813198 680101666 577329947 750973948 325527834 466215047 167423842 626340484 422194669 415007443 307379874 769953747 594774605 889535715 107683220 585378937 305381961 293512333 743029810 170481703 505261056 244102814 425660929 415880584 378918982 811059902 358361957 197423883 439515570 833855323 153210732 730351084 333663182 303106995 721001037 798168143 852978688 931814787 673359047 435584728 751928954 155140672 390842395 284718261 165584903 851792322 965122235 322767679 808814447 293709920 122640039 507506590 372594800 331280600 891724428 187413694 456703530 184573500 371221266 549697766 634572732 972201118 750811073 995249643 993372657 476393675 159478402 321016936 712748355 289761657 226971900 903365313 345406950 435858585 632763088 937887497 388268961 603883856 935509784 260987254 361651219 283614467 448620516 744474461 254942562 635066855 182266776 400637301 360921638 584578226 956832999 370713029 551420440 876455128 586380253 982950519 269281174 732711550 175372125 140875708 311250621 987353800 639428667 943663987 403358840 595417034 589588165 250745104 313329015 402235358 197540168 673055771 882677670 639308521 147007853 560417479 950759730 799466614 834180352 403410379 165609354 165961637 220391047 521907245 135208904 170009144 159055219 801561965 581628571 348929436 778466611 296265234 242964420 316526018 182519396 447905374 665098764 745241872 619943656 351562329 469263669 446543445 883486337 627488282 455906888 480937604 405168612 763079080 417383012 861096198 975777579 833235717 705396722 163921289 253035647 982660215 391151457 915102928 694620386 378392581 407229874 774936905 305800134 611349954 856119307 266525582 274779897 198587274 135161230 574512999 860702003 271260748 821311943 226757867 503674816 791155519 635077024 388105995 287770815 410209230 492160505 116487245 453735683 710899031 256036812 934239356 399069843 550375406 106151019 958393466 297636017 264823622 102314373 271760295 864114684 285525187 505713389 166891164 447984657 277304412 309962973 903747982 274529312 566391803 755962158 848282757 808863792 806727199 128896443 135350441 990658609 974826558 702243680 725875152 620658397 588839180 477480500 795011694 233088984 166226731 115568557 714327890 491420008 522782253 388232396 217955973 967918986 582475125 170351609 894484853 532165745 154040912 747356058 420408074 720193003 657438890 997056633 540974708 173630641 377356146 204814858 292886705 405670955 927355005 313635508 205317244 377845071 552197670 133940924 191359791 837711496 799316137 310854492 135150042 964317835 429264467 679775974 728698576 635818245 288361235 305712565 795891372 772881710 679270197 338755672 320837026 367911960 687851572 697611465 565693090 691700780 592968786 104536796 977109348 517532490 760274889 307654854 799082410 977224271 663358709 169919039 873913312 260128648 762005554 969186838 568284124 420952306 511278691 491842176 757967290 392522484 339240568 560937904 625095232 915787593 606198235 677867499 409390966 678527041 601129451 525752414 614058432 293084257 410642791 267097838 661852581 899317356 607013047 991202826 304343204 576189157 618331089 803525139 219807048 253780646 271189141 302888799 167051819 552177159 619723556 106812891 118360324 402782925 419964721 669328949 181704312 225904677 418541287 700995242 914110595 296442199 192445980 973534163 631625389 330442256 830498433 938995976 697491241 283350785 808058121 514314558 684652877 458836197 854157914 150176465 491758877 742693620 724466641 908848355 300760719 205631924 137167114 345639802 997653090 531514643 505116880 208927412 234354615 839993399 958528101 840741933 791233171 614423100 685382936 665384719 844760899 323764910 173044366 132568874 455529243 527579757 702408963 137409383 610085009 407101224 594407336 944213633 833454272 298833566 197470291 321865490 394514634 183236742 892058334 627436933 837525270 211105178 595993751 143987998 413567400 943183737 571776631 592207230 322590616 804521725 350226627 259613780 295883412 407202371 517839168 943812962 621334455 219048510 262191623 805028137 643645633 577053170 302325561 345920717 585984900 840469745 972366131 694617433 429962825 324190334 359195417 504887779 721025811 265859336 883951631 348329302 213443718 729135352 546941045 176404744 390374133 766574299 883734231 942385751 867209700 168360515 791628779 848367335 886399213 339542969 669037064 818941755 843806221 189811563 582136271 865896196 555791406 603769677 901055017 734383238 807995677 490021717 501755865 519630870 878841234 337045276 591218492 165834183 113193276 900628969 974107176 850650653 265193122 851814995 599988262 373895735 164042977 939223831 699697132 220158575 733764290 396131159 744114325 399068648 546232506 516703119 968248310 281312728 345374410 782249935 451149732 157818040 786723737 898740987 677246394 825223790 422880716 928295873 540574806 409363354 640468654 930175400 817390295 837101459 960636915 275696007 785725596 121124336 757924318 632796099 579500874 924630142 673994405 198075607 780594268 121282282 977962274 974485713 163784921 972731198 203384642 567349167 538530869 893928592 939866908 214995797 918691603 423124150 509528219 307769455 148394077 596020153 740189398 683869111 883844881 684295422 693515113 846883370 362098760 929903420 425352629 256531800 152976553 774993823 326772040 531565069 382268262 418662280 594566039 881411781 632446466 784551807 701553543 536726072 335340451 361732848 200968764 795390632 261440960 253555993 847615140 599294439 155165065 420972644 994815431 915646820 299892538 948771920 480582356 269662208 162513467 470114010 475012211 561320409 386311115 864994571 396031551 725358954 304175989 926712392 948204732 999370695 832832668 936215681 447077257 641329359 133936628 839907914 177217594 913146010 277161736 233768955 265978904 920961580 614325333 109673253 214549161 663699325 185668742 679919689 796877304 240358616 668777476 742254795 226028178 174699227 577550107 598795855 325563714 631754322 713633149 376026078 980975898 908558472 871146727 207891564 532105499 334029455 412247947 182809941 278113695 492249270 439328264 612849988 220233071 546798592 673559444 833566552 242438706 329183085 229117698 181016460 694579083 693936233 739337269 104787364 717440857 368488620 115641941 459799178 121821900 349590950 819690786 991384382 852260824 869346713 911457094 241163117 695349568 531076026 928373192 923871130 735148854 669620937 235182679 147965997 865009230 662461376 839948875 580959827 868640483 723031194 260366520 113858637 175618672 470948090 456694890 483082406 252235825 210933122 781143386 861485989 656821855 477677108 618615976 115066652 132896458 269887413 555565977 139464339 995532200 666342120 581629173 212099867 289386246 135123930 308338829 471241832 124672408 111738451 839936817 626566142 415740992 974134977 996726905 176423580 334595829 411805253 847857396 491660175 578201452 740948775 913849329 311930723 437067971 170368557 168717588 557101231 630943152 397598429 621074009 693625632 259100014 733753922 513385844 905439742 613418108 519719205 561780662 257040572 247710345 807674043 260140261 793834009 956527592 357127201 605424502 581986338 258931701 448165983 154262209 704776380 758746494 628849752 289437801 520451410 558781007 359972344 574187284 795690822 839315011 100009677 150341944 301991165 400968590 342737454 323922774 127472574 685803733 771053321 183089820 629928916 288716864 473313568 808794715 238485508 999659689 738968611 198677767 191415501 656238734 961149688 226614141 463215125 996297499 427987686 221225636 656363766 114054172 222041827 196778257 217048357 961996528 719395626 121129260 140156255 854759113 747451565 855411615 487044043 869634127 985904887 331143341 475395107 730207206 657033706 711998131 556167779 939636608 738506774 866857820 100775954 986670383 426605978 745586721 554114486 401215037 445293801 301135638 736604029 540599247 589616405 738820510 441335321 768983840 496260844 388030298 914933281 539663545 559972104 521592519 658650364 569117358 289979114 221007523 527611435 588661889 300829114 875981349 645832865 355288718 731975225 759294896 479483168 514351502 816344810 822140812 141819935 440803553 516502391 337130093 263149669 927176432 346057768 280888857 365252124 645386712 977606394 840507584 242054141 409332211 592344850 472903959 816435798 341847649 252878449 834696106 459295092 638997059 219587812 586007058 439897725 174017709 374568839 945356265 627637637 262513918 815864313 106159685 918616726 188822986 629397728 541850000 216877482 519149152 495851989 859059263 918621571 578566895 652989318 353190832 375798347 695055328 542228457 235875160 512578491 875593624 742007354 688211490 879885484 314472580 820530711 300837331 835803810 877698103 653991867 280503958 321589559 845621700 247335782 752641735 961195754 123345809 999863259 725857270 651169822 310717146 134183581 269903419 449519099 504862424 789155128 605505330 293729042 231765233 310133240 350337863 922977413 837697714 416586370 848538187 290104078 727232741 289897382 867933281 968062758 925830135 157399742 830142877 678207354 808582890 429172570 147057691 999238588 918109715 907472129 461836649 579160600 465596828 388743901 390483925 910048927 585934328 362965945 530867869 254516496 860606847 671545387 291342946 408539216 906597464 674146516 283208226 377099852 194203606 906150329 930266198 872766745 394392041 464482557 478694702 731464310 988344791 494331767 423449826 835729154 312079758 194421729 689105893 143380523 272822853 222156483 758911555 268916024 462801830 208852924 709949031 699773100 199408552 790236096 399061284 698471824 580137540 475565326 639311129 330227367 884798131 683223107 366752805 554950868 909407756 667111642 146556563 941275247 715499050 770462824 256838385 576479647 310140230 338354026 823184123 227717753 521685211 517599914 498547419 843322363 359730283 439301293 296185475 271166300 575144141 660162111 471230354 277183726 348078940 868775386 581092541 320268370 651020487 397342820 597541884 350825304 675007543 744193562 427370351 794143648 226276092 333088792 925135278 558229449 827044361 880383303 771470487 430615947 790481561 350310693 279631962 830189825 254567052 794680454 348200830 421592778 887846452 902152202 569371453 355134464 154390393 458269024 814607979 929204928 591095027 614354392 358099087 378038719 338394505 301098131 524385985 105763047 328849189 469454260 541085944 741640027 466772798 547041012 320403492 911537649 988126724 612642045 647317271 204307391 399628937 337739762 822843533 835744699 155412929 199949265 618269856 188307857 135631667 855971244 577748900 908861296 914073348 541357201 913455916 161478904 966276084 465092137 502900912 157718853 234356655 760799780 363407068 937492485 746379916 416386488 941423647 199740690 581265328 916588756 906181420 296849282 695967700 476274233 208234463 989709619 802754868 463946041 598196981 598286519 297517378 748466224 182272764 129704825 310397309 295915045 358660641 574673329 672700240 347176383 754441947 934592463 163916477 878783742 636039346 420639034 277253647 116689618 916116266 600130511 387832404 617366090 255294341 862876995 355721708 859997995 362647546 961920214 664717276 378495184 393614566 139020306 412312390 371831233 638331826 493744566 217331834 453763133 423311258 669796757 169874526 448787387 628347698 250947064 109019046 180477239 461778039 558101899 254835895 415327412 589846179 272943373 389794139 430583861 202479536 478885214 772074996 695422781 390196738 803545835 810905977 817596087 394359178 284326898 106564107 388202315 892296221 473992979 317822817 323876478 511541846 759782363 644849454 363968151 355239844 759438064 894073125 705611675 609328645 212609964 524434847 658653557 878671065 631434626 708533862 478333863 542817586 677729920 298707878 164064772 110639117 963814127 722618208 182067473 719110799 719097561 907345066 495110934 798478491 739807646 747339279 376772292 834096750 477422538 149496160 848840050 875851052 115682868 816218854 498738014 514002355 271423922 868190860 191063809 516042084 918485435 412532655 338561045 359389124 383780938 664324157 921022403 205691343 354167318 733593569 999033032 806484477 489567910 233914862 783820178 643061102 127751794 864491260 552529150 755627841 921802148 791462189 952866788 878868135 705022250 702015291 717266042 349193360 423883646 831730176 532849033 647274114 886061565 445083277 869019263 374237126 208691442 719527801 514385763 272908891 378267152 281332180 888087700 414914759 561196075 838857985 409879636 258083494 792072116 496653738 506188357 997398172 873208027 985090036 394085228 478983997 606663894 349631098 561787678 397981121 548070309 323573911 398534347 830126280 229180766 955609793 105489632 364180576 764041990 187028005 264409800 511537951 938413694 519927583 868570526 917954334 590266854 543183383 650735377 551505368 739980930 944234092 440110931 282578383 980272802 621416372 776473782 893522566 256775794 644821514 751165465 713339705 397216620 707665875 971600823 153332666 868502900 713807896 715206306 166886641 146318372 396072772 752278585 945372687 387959284 935806528 343206763 734803601 526338025 115445777 566945628 996855922 265035022 213154119 456789368 792830259 124485237 414784120 358947968 901839794 329351944 537244942 718353155 386286730 344106421 955486325 992556317 908466498 196264099 443719057 257091348 583864399 333631801 125343063 698175438 150869652 810285618 913167152 926237796 856631292 580336318 946003833 300501323 979121496 564188338 747833849 330363220 936111652 554252457 652361435 295614159 462282320 785410158 647100738 671965456 997928650 211676232 975809601 907767389 852285323 144971333 732389243 183229404 887263256 733090110 724566451 639532885 314507779 647157219 671850461 224031380 300688195 550265907 116425448 280609927 606903323 383990753 890738468 632266471 502434308 721869058 749616642 867158495 716156625 403735965 391046645 507546158 395396921 152715870 576057577 778010375 844469304 445680176 107757542 378146020 496600056 688785916 503531375 847884565 428328856 833507205 413850226 944937465 576639539 616845612 971844580 174343921 390879120 677176199 996810685 319842091 610811731 724191433 422345734 664915101 448878997 234808360 590837443 816809934 929898230 706836099 336348095 458702111 501103545 629263300 536523240 745633070 465731445 927965270 584345938 568333405 972909955 278118699 595587699 893516659 674328280 929681958 564377250 642823773 650102397 637593465 465099594 574333023 649469985 848092918 371617332 778440531 142415038 757909805 768597232 897807396 499699887 707610979 201394067 335238572 954448573 677377350 336437675 149506980 715012828 177978163 271424387 247294672 899285678 544530701 201585904 851302868 851064052 792015226 326204613 943396064 574262852 914154967 841126782 602693500 508046833 405379162 964663043 842352173 118155541 426089622 426741727 870302679 961115153 312103785 584021930 966372614 442477346 239178964 316433833 531079306 371773797 390315492 532839106 963800097 951877487 977085937 732291378 453555953 765129725 766297123 663864436 633111695 971727260 698948642 520696612 879132841 427518556 144494219 805550010 944105582 988252919 363607724 901409487 690244970 807066998 791708671 912879438 890082593 969471471 323379042 552963013 621996885 540837408 593614256 511017652 318835975 555476088 634918330 349408931 560784673 732425202 983374139 442125801 641057158 303227626 522857754 672742568 864679929 274661615 288889237 709037720 745220451 580644436 537264119 335826970 745364654 278899148 716310147 566599259 714245338 100142018 662253991 971489156 994663190 601979411 256476283 888547728 535347986 965235662 770328793 852455422 839706325 277449799 454999280 337570043 670308215 581431721 220088634 471809272 697951014 657853575 803461598 820097742 806910588 164776214 615859152 214335164 324278407 691059951 779250641 664146122 702401369 840051805 713416012 226378319 901067751 309917552 316036127 317901993 198632610 352553183 304658382 532680032 527458787 490295437 975704533 128323877 567506655 637105679 574566467 618665252 616715051 758895405 245644053 790148212 111659288 464282846 525975994 829519373 429561156 840158904 945435294 306291312 407766022 378161939 228829627 550195904 618524192 877775746 977211310 132986304 857167664 479876793 771739908 858158929 174953516 272623741 626350239 251470483 676765079 377319797 849960301 926143915 143556730 204997936 276833468 506190098 896636537 373372214 105681947 504269070 920861900 720410829 917386910 857096962 293497397 469532292 181396107 386300898 799390809 522062974 281980776 273006090 971966082 517130780 949202937 669878574 358283330 863260430 118260089 977335114 915478919 224823572 283750898 307281864 909819504 117703134 163080810 900790753 847733149 302079048 242458284 837574294 672166977 918697337 822132522 252816608 160948537 551601434 464615137 771892167 101638410 646164896 679165122 703353776 373492473 810388162 587653006 293617946 428410158 971729311 724311717 387753243 522749624 256470064 169960516 824728352 134656511 449192698 499339829 803728692 785305913 181758599 574573617 266120936 871101415 190852406 553574704 448876754 235809483 506684209 626480151 136476802 868462376 987600942 152994484 690251142 570029002 145967738 676379863 602759115 356222393 303120432 519142050 153908985 175530413 780574414 398964027 861784627 120634088 505596904 619019900 914747330 650900835 117750584 360035716 841109117 313045174 264134236 924875403 158247450 215287734 543748950 176927223 601217095 910380146 545330396 785577871 675893475 863881384 283805655 312870402 870780524 102004084 634263438 790932802 454515512 551044517 104054555 695650556 987737232 401860207 400402176 525645102 531139294 452188223 746025680 867073737 209951873 365133477 902619681 181833556 522861163 743458644 513242987 943862082 306015746 932138506 458408304 387749242 628654615 472088370 391705597 544932756 766264680 929093471 869141371 192030633 462893165 334345407 767527218 273983321 399804166 826768050 240530124 548150331 453872381 407146069 956379445 753604346 776094047 501083612 937594162 861027873 398802256 369713862 311755212 403771701 363219062 175275640 106925453 909208900 347701126 833388058 891153459 654481635 644926868 149291698 785693494 380579501 566397055 851265030 495349656 389056849 741971252 693801350 547171176 884085687 431851386 554492407 788237411 427068802 431863791 210561699 374831796 388822553 400660966 354280551 659234946 319621327 874187857 383388728 601932257 193430048 158563784 971943560 348129890 853165479 489989274 797839080 738102873 921539965 289128402 748532295 437372380 897515243 350069638 745089105 851202792 319755695 690453093 300900555 605001831 968467233 218264022 599085315 116022955 732575999 814264106 172789923 662567108 670640345 179869291 816401106 656908715 861810917 359215973 904658712 792558865 968906313 940641225 512473377 431462388 187610968 711711539 434032203 161997077 663489290 674819155 768381858 804307092 869870882 961138863 710574405 248769366 547250730 550889855 622625850 373841613 445012979 920072477 606348941 738911186 624722029 548750921 323617081 970277904 301532087 589655901 318898806 349830787 852695384 926178041 922401122 292341536 352938252 435890933 301492494 225371070 400363803 582337675 925650599 499203208 563561095 849525063 555916977 656940353 586819862 370757711 989789334 172416352 201061442 723287895 337944790 126571633 379100559 319645309 353682628 192668955 505140469 341553480 454570693 999786500 160549202 393735041 812185712 344178679 342783832 296199000 404491826 635451548 560890364 466392812 598416064 744710223 802678023 304054770 215269771 554919974 531744704 822173856 694517431 691114060 782136948 726574117 903734809 242839568 364848380 952414261 840460134 145485235 722728778 317794561 109007908 753983659 416490698 136567966 687932873 793394862 618371544 846208486 240435861 454949086 594025359 853495104 201598910 428242047 499338154 979861215 219651685 933568917 183793326 301285311 945432658 109955913 559897883 141136094 713511442 860360445 170176895 471202326 400169155 578828136 627131945 237444501 949695924 293724180 386718033 262497545 766691699 966004294 260682425 677987502 277270219 128062574 271474241 330696722 756767077 540471207 692761073 688511200 768772457 808953778 480419810 826538004 241079242 343685062 608071117 753205633 661281606 632401813 301119350 507750645 458348566 862524024 637390243 453029876 837287253 554731010 271678947 750107972 577142842 885940939 437824447 984291439 294817211 729642333 162382211 952962854 654833147 399840247 137965231 230747086 319235818 843989035 298218789 343036367 283443983 299625712 270660197 229738537 801540331 610308386 171880759 500815974 632724908 641393011 816142800 289627945 626781387 659693970 194988294 345907832 243240610 581123346 536123123 803630428 830516559 870214809 531583582 570621010 263427604 311728246 581895675 152088644 581525169 306286090 112008873 242225508 482290294 149734282 529202865 255430255 908697312 863010858 436427602 443414168 229053069 454193965 738833987 187760802 564927469 821974292 782305628 553379857 302277473 267163345 370130595 627029406 496701648 102084883 975510691 553831379 294180009 858836324 872699554 194979629 940026997 106794725 292528245 686830535 993016878 892288644 974110595 665954248 786301325 933540084 778488346 787998151 968652278 843050517 574007969 513768481 932491619 743647742 224640289 422077278 110657850 614649110 143186265 748477687 668979610 274382886 176251955 182706837 188858358 472420424 938132033 734985047 293032737 995258797 873205810 886347415 105167414 647999753 860281303 120932823 802029462 957432831 224913672 789494413 672978795 832583288 384335355 194915886 100572214 458744588 136748766 666520435 226661591 533679580 764359948 760897365 469381672 598456331 230149880 839308857 694337989 425708680 379761108 360478947 750253682 511300781 345201778 595194737 767469301 714389990 317974327 284570237 734518197 166918017 806960643 789901258 970959024 797450215 151852725 615493497 625571988 378964785 129302642 267636743 422076200 928327585 401701591 169363088 279978844 915736871 623891312 441958826 572801418 934227385 119974714 294846630 195331351 368986335 896637585 426609511 917430739 324575485 256472029 359464914 754095889 887190782 946211190 536887989 780153509 934068388 319323012 214694482 924541075 412103800 877800256 895210110 758725051 304059623 348785298 952944563 279113877 161929475 964307999 927894777 904248477 181038625 313561850 995200215 128718839 339307657 578543281 714744244 432368730 775377854 941627168 798165038 615733950 847632281 164603980 652945626 893887143 253389972 176316426 648212680 884044680 245751277 886149140 867812039 464421756 591177008 408127861 446527509 729404510 656212773 310275534 413571969 516001257 982142066 242491245 338526148 626638381 586322304 448393935 147169044 952770910 708991867 810415645 516123706 225030625 183842699 361490049 852406702 813189159 280542108 466821775 253922611 916954680 370023338 579638156 425273372 415356818 241344500 607433123 677520064 435730278 802281216 609824822 544745685 167461092 983794521 230147511 563416969 376274961 207750875 339887171 788608389 434526096 281708258 634865658 755582457 430812759 962057817 443069258 364054419 982770517 146777108 609076447 434434017 660049315 183293433 405749744 563002955 549658639 206939635 765157877 878219388 292902036 973615774 198391444 990897712 848968363 528737465 816705200 995000587 316881241 318787890 201097460 690934712 959466186 844855171 777321004 491116029 562026391 113002283 243160919 871826091 946226079 111244043 242336335 969690268 863378730 545946632 419721664 120760055 160571824 943340300 889280415 461299831 585911288 924242116 315768863 548023897 320816205 331008089 240890519 185846314 626123977 634585161 672739690 926621187 933716814 550750760 206321335 896270407 810622503 463617094 130231231 399438813 876575028 969616458 332710766 346019836 448706058 162149480 602835058 172028059 648799968 671175081 570784485 517108854 537150812 340673707 286083685 375323160 487296176 297975495 132731706 533583254 287178214 288565394 116285465 572369208 350567182 491758963 591777734 431254939 528213379 386038420 999070714 986349305 866719430 410688646 529271603 269084109 359714363 119132906 560796124 194135952 107197921 548863483 240963615 111187387 381949344 893757380 755328590 473924570 132635473 661337272 954610179 967549594 359149860 619112548 479406749 195265954 107848489 478324039 751121280 948738987 934471296 866178058 125493700 457254022 373979717 287873053 325320027 580585257 528234945 718285596 489219915 576659780 665327358 460756055 863003713 195560805 888627806 523567202 128698238 962734956 188430501 230975963 951847882 803918148 951203435 711945915 682627930 765505051 522333403 411775401 560302982 612942849 151391526 821680287 603759055 914349681 900837233 658697576 300500586 457218971 139524975 943530079 469356989 929150777 947782942 389325202 319833037 582575650 846754431 424899620 934111474 168057129 105261948 649217827 244058091 768123004 814218541 487636197 490206439 208795067 155223685 620853302 813139120 313920439 848920846 426687841 868318887 374259433 285966646 350067687 284822492 172748781 481873157 846950176 734779767 391815021 731944656 562217922 911186402 773289578 317568795 858256081 960273465 420294564 960040619 578338875 808306704 277426791 172754590 833465285 986691970 984200625 121544389 564405140 725798561 752623812 233854095 954236077 367670785 316102079 313694855 985043306 596090360 518669021 394024709 910654479 722818378 744067284 453976033 510074726 587952083 680908932 988011563 975949253 536121750 850603177 288087071 199114433 265080924 894369309 126745261 297876399 705167740 947818869 396226880 920992757 340239921 266354317 804425036 799439546 331849817 632413307 186005631 907767186 638428231 767803662 793453637 221988979 183609027 191527044 729768137 109752218 629831424 466112768 132416484 664107622 503014286 705825483 155974727 847449711 651734535 808608561 329960157 875138132 918935271 288358054 140602008 885730302 439966866 362674317 174781277 923088732 305193352 476766007 949474333 797798685 537432121 702756512 607165066 714721331 755867664 503288689 717500139 935906758 390200047 553179519 569294661 669607436 976699677 892338115 314942904 910651171 256128657 355767165 218863656 200897654 614745250 380721168 760012782 660340425 381006489 744132107 524193025 819404761 874674465 325205823 819977319 393562256 867310909 537624361 170497491 279653985 213544991 666343591 792840033 333687050 740018402 313359913 941201160 774551749 479969778 953101991 812521689 381532903 249743284 548596899 372048806 485315111 378623883 655288953 139170390 896112248 888260016 568063409 160309772 266570207 717038649 899810991 513456816 898095700 417060857 803054157 781509267 606911524 850185654 387172456 431708112 717989874 773534372 679424255 276202575 224028087 704657375 661487522 672211582 904987660 846176811 146977922 234889190 810196223 688885185 856608291 492079151 579651077 612093619 445426518 554373994 995309534 103076747 862701824 936603927 162963216 120361017 332655131 679677446 574045280 516997727 443889210 240488067 796551820 809177634 125205188 439027301 239746098 926059301 926564809 965672429 263591522 784235257 902978893 909518474 320939789 964350691 391718671 146616550 687104351 609142104 494745357 737051774 899086163 816843605 186895782 712141894 891725466 725954737 860499081 301110001 937644173 151403217 185078834 138763038 333527159 401497535 542538332 341003444 510188571 724223550 461792736 972998463 564786004 787158031 431681905 341176821 972616978 712416769 285287768 467293793 541616461 336506365 496753316 680941719 756562814 157652799 836321899 654760390 476557392 651228707 804777974 109096277 510071871 768987453 244334596 582592646 621803616 639679766 726940820 127263780 885221320 135979050 559287191 737808258 355575915 826025207 140318768 232949724 891650510 478853717 308255962 101852369 697401552 829902052 547610069 944077663 413880516 635234824 939053528 580574414 330335146 290201115 163402869 892335399 585679844 697908011 328681075 204609684 672569488 688577430 151520079 964551984 377135342 708796708 834072850 139962871 205504472 655299645 706883164 951895856 600560555 405112778 318976854 626909957 349526279 308648669 940987151 724896344 217211800 142261800 350223799 546205608 601221716 865099842 487568678 763012275 415166838 478155011 911778001 826406014 648093991 632594142 762368386 540493849 522682770 823725990 226269457 799879823 652273650 552173796 494895025 556228993 112217861 120010916 831020399 838748298 916780050 536342438 422110504 623215918 166744807 665806342 753597888 245421219 941983656 633247544 622298059 858856158 288775743 635872314 701763545 204487688 635747365 171348669 101219337 328895007 213212214 620961079 675988755 324885127 278960352 882380127 663034683 228887610 305742453 323403934 995023973 184210372 209671584 468584246 497387274 562629706 590323883 226915496 972914190 588549138 155499206 327371881 894001239 103986842 643603842 381137915 355414728 216671578 978126185 732912887 786946845 438236166 840780862 201498933 704564201 233308712 522030115 280625321 240371801 993925152 868051994 913549108 546292616 264685048 155085357 230651980 474076469 519287600 273373206 431605051 375357953 813865597 836633292 267173906 449817349 428449025 104160319 794628749 303351355 549504723 923012996 696263971 688997582 521538966 554655924 594491628 471972091 409699318 827596720 657864938 682119629 615576895 745323175 373056488 223126254 524364896 675546133 226446718 236166690 673006163 856597865 587548119 667078100 432884307 580138990 480610518 578125017 613134660 435419778 260280648 498322312 241267939 299244893 129336505 496070043 658610290 462481753 636495394 725963666 109991623 462190413 478229424 185951331 489414624 589223387 630754270 147370695 846066788 104635706 230536948 221276609 351973886 305066083 369441337 953223206 925443474 517050928 912331507 283561556 508591081 546149947 977188750 807835569 695761271 625962595 150533786 897711051 128301471 463097649 417866399 361387590 170601051 628306958 867501333 926044016 856960508 572317419 644985067 810924590 342997884 630103273 685459956 683812251 901991279 175265153 689950186 628021345 489678244 739308900 379564226 463342244 870604170 159064165 258141555 521733918 419449164 532670332 400628476 524699919 385270998 417159324 513162593 918922913 727863294 283661880 751259565 172903241 355754377 628063867 679743679 694318529 608079304 702348097 388760765 809751456 257963677 361298313 450703292 970072470 292539571 982648198 723090501 454738284 254946010 801705991 506220320 159196863 360858360 407266696 233644438 263972568 897840495 924846819 179867436 776598650 626402886 531603406 142023194 516139076 286672380 372833932 620170474 316369030 958416883 211278934 582506298 430577145 525584444 548045109 137675056 742942563 835591031 800447250 390295689 828871894 232100982 723098624 326951343 168529139 765575702 782355463 359664210 402458999 414243109 713163484 722917634 404712269 895933376 219410150 818483110 344755168 448447238 176176134 468093752 708566322 857083608 665703531 699236927 273839129 939209548 848395924 114442479 377636082 740129897 908634473 214063652 890899042 856400979 414520992 985877584 363255782 737678226 317402338 583105550 313013718 984178813 639256341 342650882 426327291 817363376 902337956 600302221 768023436 382201036 175424729 860178157 175242632 601781698 807794680 166229352 350998610 312518780 543215569 368343769 716206299 755146989 427338807 366355802 851296010 564450820 375758027 666454221 152932625 872698779 959056514 967937944 988115736 622784594 446693074 183409758 804388877 224832337 136912298 145898549 668231925 208243676 321903938 480566012 857822508 475718220 464938492 820049350 935908048 903423903 652004909 869986105 744626888 581606353 531655006 202980172 272960533 472181526 397094979 168707667 270279023 416301586 245815922 733696629 597127256 113161993 619935209 800894066 245237618 266711837 441843781 202009835 515324224 336856608 451444542 995326423 739980698 580458478 386708976 743388583 228317849 203090168 337885402 466322637 487555082 247930661 857239484 553225151 870793254 219019007 180622718 927972529 730704696 334477683 434222912 658305745 633190456 724227193 301079671 254579198 331468395 138286493 755642688 770554137 998790253 387338127 656101063 487128802 264597247 976287323 583896375 485753125 949732550 831013293 696113367 784728401 186569698 335284473 853730622 365077445 896028668 118817230 660215526 145747714 883502937 903996130 249649599 184229834 739841024 912889144 265288518 339767470 802558815 943204142 278606195 418659003 238752872 904922880 105821163 732331324 447079443 340298145 375197760 382547119 566206940 181501111 781949872 180334045 829813850 852056055 854766269 912608968 816411981 930393005 685229748 874307505 479818847 653927711 371029310 916192228 376555869 248833733 400300694 773394383 257082920 772177366 127678415 373717474 974842484 330226310 999305763 603556845 880672094 844737664 888638723 331946824 190060683 621782410 468951318 876954724 830582374 374965002 219759229 693899570 774917624 515393227 594738318 177027680 135531985 619243173 321177378 689719899 758087113 572510595 162457151 757578248 489624647 243953441 344311708 724975855 183142072 625503348 921256799 875398210 522615080 812340397 458663119 914333675 970100508 298953143 312095727 469434216 742692146 922718335 495706083 617190025 350620993 315064929 797022431 213722825 919804330 891676113 589506060 365829985 842518311 699813873 358590297 121135659 418127644 544480427 451704410 353469277 934416665 813447717 301024568 878146994 677044615 883881801 896909612 601742256 642558837 617228198 283187968 430071097 321970529 844889672 536176809 426246499 401869948 967035126 366215084 694836681 461256448 126824273 392121645 874339053 158254832 195516561 866371260 331978303 892092372 940335879 160661295 611100952 781965185 289078717 225287342 280712944 626794566 941315645 945486939 883528643 765507301 292460185 187865940 856329296 810603709 394372771 265024966 994677595 504271202 324720219 852437905 911347585 695527566 329792499 852653688 582560339 116041073 424869665 990586892 411563517 213790150 619095501 435416825 600976879 457079723 651229644 448228355 772171288 567173187 753993747 316827969 457965724 553871516 900397507 803760319 605559147 402554784 205369559 112054839 202873090 496616333 650045367 588160703 907887116 740052922 867875133 701887555 269258162 394863441 231719843 312203401 964290599 505749699 236411434 563817753 712670622 196055995 508199300 529451021 572223408 135386765 847923461 603849296 233851063 432872361 906765835 769959512 716341864 334047882 863942311 155398218 103981464 406425083 741816242 105649198 711919291 231109523 115388909 368731127 420886397 552066201 258288302 692315412 534967545 886604744 642485336 995981978 629722410 299974759 737158474 448362901 551525917 545042575 262878550 814423177 932993373 289341441 103083079 603037720 782369185 923473304 934472040 296340154 421428363 918003042 509410628 756942804 240985107 733096234 222164043 115802550 493476612 474751742 734501553 472362402 634000375 225383789 657064723 843197508 314504768 205903584 723927346 838260781 594856103 133147831 703804032 202870522 634082885 357259976 707747179 613307452 928421407 291663619 131313735 237750422 996664649 160755139 268199408 566181911 629127220 387645797 404219888 409916697 140696813 359251277 835853269 856744380 916515236 811598785 632669549 857668702 386628431 782732958 613042783 787894695 257495693 690206677 357593322 344290246 966215483 268348033 729292793 570448439 529613472 500274294 824774526 229816090 207219967 851630900 103200184 660000494 860500587 510461818 772997922 415033558 710242313 887760704 922236405 402623496 529634780 399020586 422277639 593808595 181065039 367498491 371596225 213159648 905510945 676673485 430220681 654085472 988817757 676762017 181474160 853886048 935045067 534453140 692987478 790735504 289259820 167236731 273361118 332673321 726442294 791583606 825688011 930170781 172997539 577543004 310975245 417987254 208322416 596724185 657299995 540689908 783214902 730948713 212136583 383096959 811295012 207306572 405304554 976664773 820472153 787175381 790713105 800944383 454472768 422991462 127440864 904778794 576595692 390488171 702002111 980438213 134644884 422491462 211314374 451330075 616395047 313749621 107171494 259237344 336931088 884946106 650467760 443801931 738083008 831343091 768951225 505104706 268612437 534670733 983196237 532033289 658377466 317082764 973952071 508000676 726151454 212507483 870579572 242632459 622793231 743563571 519835794 307254315 925515629 654485837 315203414 833847062 526282095 700246875 538653349 591646206 947802044 163490282 581217915 240256060 995107436 838932422 591498854 232387630 563426866 957928266 366330780 343652565 702867513 893858730 599982038 986048789 622911053 363537015 777143044 831819157 522429226 537310853 928665769 273873084 218956493 991289891 341747192 180306951 863180682 595469201 760808655 157852681 231283962 367612892 223394385 289782368 940974384 940909675 383460690 323178318 921419981 508996526 694009180 264551432 887762771 813231745 893284822 437793115 883943270 896798825 134290889 407410084 630822101 683244642 260331449 599012748 551679971 473041082 158958996 503243790 786039815 123710124 148894620 729078882 499784379 831498922 724398471 135547573 952932603 206600938 415201109 712132414 693191106 376885977 259524931 232627587 769211194 469992488 677885173 589151613 841358570 924963156 332280008 372307297 835688039 891800208 225236120 144384479 117753784 708806010 407226086 930908781 349452097 283910603 268745078 696034872 475701749 316590103 756950432 559588928 335914904 474563616 548823768 615669902 327765416 708229635 601176353 513857442 994821625 595987603 925007564 683825518 886951952 736900572 376802964 718486074 495100954 112248655 137964175 303523251 230354027 983779307 953104944 335843634 620372447 260124272 420233012 132955466 556679422 328143083 355977397 655598956 133590069 634078069 278173471 347184807 596475817 745516684 131037959 905646605 545209378 161734809 511677011 760168808 495628591 678674501 103856436 521026288 404465308 826644394 923646146 865480616 428183973 838394915 595419005 291048042 504051031 742272563 928180714 832319397 858171283 810606591 626183637 849157820 417435464 789737285 110876107 671987324 279390579 562124649 925147061 858706333 904232723 166744598 852075176 910456898 311474715 612975936 199866811 804299756 540334511 702183425 907798593 969906500 982970484 382835885 883376053 218334454 476675835 649529374 985373417 123142832 957362325 876999543 121200991 999511747 681066807 865070206 741291286 969808746 661554502 316476869 206155024 359923782 651037100 215146082 817359418 512012834 797272010 926482080 197154029 964717963 493634682 119276710 328547572 358398373 340008714 259844961 680403424 516577497 617064543 508714179 971010678 271572656 395023727 398052940 493798500 336904373 221246210 408218798 423589924 433934914 507072933 165364435 330858857 103362988 944187177 217276652 975604416 936875139 459250774 635034314 161483247 962809186 273570776 125011527 509092212 441549820 603150007 232546314 490850927 100729566 772257872 409496970 702682368 756917469 431876536 872675372 352901143 399234740 316288105 201320316 435090358 905793078 727434879 368458186 752649571 250349251 191956210 914155025 987937572 905432519 624522387 183586454 395315908 123180358 674177950 176771848 936877909 183250476 383133818 523993940 778360116 209966837 231097147 872753376 972573199 961072372 476436006 126434094 522384986 749607190 755116175 957321516 240373576 630647701 191651703 750101008 491191117 456655644 515224197 279797128 506218117 595642817 688340978 646798905 321054925 188189258 730178793 169710431 203962296 695275831 687957719 297959833 120207925 310273348 320839604 934763302 408401066 878576380 967265057 875785269 385652822 433569094 857931792 629710318 346832106 984499587 837596431 731361045 993388858 328280917 798362642 145339754 404096702 683947282 801950713 406855224 393258105 388059521 482708968 198598679 748958636 698324973 290613926 689242694 436090768 203313237 168669700 130736231 272014935 299103138 326431052 970746353 975828130 590380863 178904863 618669208 196802802 831683048 700317054 467763531 658455729 444429026 424968305 964924923 329704894 147079126 892782565 296695632 866336318 245328805 906557581 940353745 322537890 471620795 647000533 275116920 293620979 843763552 558402150 522402889 481551412 561332811 255754321 513759896 877314526 306844973 733454362 746681001 280376886 709879340 449841422 934048769 385683943 595811227 239639120 694457090 952261789 971955820 371229874 842954019 925794680 966674032 559215301 805374086 534154915 929871590 552766894 448280662 289438847 568389382 773441787 423426228 407377598 959403785 558444660 699710913 260181033 594073253 974949898 402288888 954697127 892020306 663959217 882483688 316986961 940199539 975920716 509815458 342205240 741663283 365217010 934382427 903602791 928753240 664677091 425925003 274811687 636062896 117033542 895715213 292315711 226473945 549180129 518030738 913175949 356550316 207054959 568440247 522808933 738139937 102210822 378095560 764931939 853072338 324185770 816351849 270676135 332941611 722388804 736387164 118624207 163101335 557620081 736493166 834948864 799877682 809785554 779932967 639346187 863625748 425096012 384353501 340189839 307790651 696550639 399233374 382909096 484942141 101549236 517697036 113457096 253686253 932754479 193566684 453856551 679988912 461855969 183521393 376314950 970547414 623054476 203334269 856931199 766962953 738211907 207655357 109764134 106449076 395082889 611945089 507409433 702715914 188084278 367103878 507230505 845115126 220398881 234391257 574347812 722469144 954732059 848241689 967526728 245365134 461071286 829199889 640564582 779205115 356743106 548455153 492948646 271603249 712801452 730110765 832364981 457888227 630667915 933141650 336787895 453905466 262553056 715836060 934355549 813419793 949481054 911157964 390082227 901863552 278992981 494470247 633592736 391854725 460354566 555841790 322891426 171161815 445391726 127994840 730874928 719164115 341311716 929493581 916417231 941215512 743403807 250461249 659860131 645366111 110008391 153568374 684200759 864065287 152332163 340220600 539529701 678153755 811097591 933484448 180687781 994009288 731486971 533964545 594722429 940516966 992117500 523769796 507937916 765855070 679158189 854436371 493288827 545122588 817942739 377476962 486416619 871329299 964706487 906348328 674779550 776135228 178828385 561435108 623209459 991389920 969132909 951855285 516939603 866936308 450106285 111284304 237084910 568005198 673093420 859323865 724583423 295069218 117143652 768956180 673196785 181829293 870104234 192833210 918997604 537601042 433339504 813854076 923182178 504069103 516893984 669196773 134379083 322823097 859127533 770175896 137281306 748737816 346742192 922023228 255740553 202507878 605857873 776397187 331792033 527006744 440184780 901085808 370110331 323428114 845380053 950410974 539847778 910257541 163954877 120673000 191703952 831495714 431807580 222823135 314069620 431608538 938835242 256329438 375654681 713969261 162404181 820414832 157143465 186818693 418752035 692214102 908267586 616363294 371301599 545538080 821402391 986285794 449772487 309844266 325901763 891215527 341446390 456464312 713874737 309470511 418123743 773211970 270415542 403522591 788950198 862276054 832009084 911462130 542876517 996779573 612223199 201430602 592276871 542881510 772395100 793160103 225220222 344684463 368257986 999876493 195349436 293747139 364800937 867256612 306985985 879534610 832039070 185084798 155907220 446937039 757079398 378467526 950648958 260267592 756234445 503772410 208762573 116880280 170134916 282655723 373962267 621360622 760349290 584922876 369212017 545162510 813425043 505687521 771057609 907673198 101276800 199114780 460301191 580042520 901621348 445201935 268512818 767462561 716049818 866844513 506475245 999670683 132258316 815930657 843637653 849037739 663084471 967591989 828610985 795027999 116048439 471679099 674013198 562981277 731519735 841819384 296813361 112699814 669536546 361713224 772224198 824759301 753961331 602395065 401684530 621973288 182906008 271915827 383028425 511354118 293381570 207199545 103425079 875107092 356740854 931719175 666312093 294412070 107009116 666067499 456660824 410534827 223677549 337749562 661527381 195939297 833755675 358726060 914368227 256006860 684860020 176592201 624154434 494203211 646463159 526934046 944969528 202244479 723950586 900222430 868254456 990471831 314470120 656175512 828141512 207486050 104549918 604681130 538918738 228026454 634259544 205185356 274954309 109158532 111976790 322955862 824674654 885083744 680764974 346486797 603847531 741037487 375374709 210186833 451084633 306107490 787927914 502574305 980840548 297249396 991947837 962050674 734289583 455861480 415190960 815641597 633297665 549643477 876240632 703486983 654948639 466065843 683051302 429773935 407007360 439406578 368884569 261843943 119504052 687878989 218490052 115196175 986266521 993862122 382836253 520708662 402019500 387239753 396379032 942887476 263129019 789453611 566996232 650214185 414924560 902681470 329424791 673680312 148190820 855246689 960350508 508386488 856314488 313865704 302412616 737358311 738739954 214633206 727991025 857550125 656426105 150862181 253664844 903199851 433744920 441451545 958947089 393953259 543397712 391274954 218503999 287436102 316659254 863730161 137054663 795859255 409623962 585378818 701902346 755355468 854860101 737964491 776872021 366545066 496281568 428348466 927038385 250004367 813991060 295214450 321719276 364643915 639130828 752794654 761711707 743521766 791003786 856265349 579748571 811890724 405512448 657137056 688319877 974079372 278995701 141875232 955919220 669173024 786124887 881056186 901972453 264115502 758121274 804101590 471653554 692844122 191759452 919493597 547712736 111074565 633738766 389327498 461446604 230713842 374332207 748414612 280041977 264946475 806453416 788971133 141336693 838507529 360051417 881864990 819418322 783889998 669130163 931648135 211390323 646693971 179779348 349637481 125178885 776752757 680335369 384981124 912199904 357414515 633905021 517457353 750961499 730705946 584565989 589382433 287232377 792451662 765741215 160812562 850832442 941070041 568438932 534266865 821648930 266265331 660658952 556822646 395406756 640624346 483862612 208959039 848746781 982272743 917109538 140627908 454700493 307215830 445815375 402951300 192964366 825972324 568332211 528299598 138599292 996937787 313820121 538775190 628534640 749812120 324913352 796090820 435282457 573906546 135125635 620583891 814862235 554647593 105405339 287860061 571814532 901382587 933537633 227373518 156388733 183245498 790712902 692061336 923769443 882640586 314653972 228205235 168656401 119811078 161146898 741437270 494546387 102161844 180587252 350744003 883031221 900357981 451326106 969864829 933505066 310741890 708351230 970527184 505999816 167378698 729300024 985403303 517786415 117673883 139250972 142939640 481901309 327891676 847139554 909719125 279865862 637807640 167955947 839305996 748365235 885230719 558200085 706228275 983895558 469797029 274666307 509347741 249795090 994912978 325373846 869217898 964658221 832845067 804221737 531288918 559585867 308216057 384137256 629183801 112507142 267585405 236388873 199632028 416971343 832367647 484305873 623438137 130835407 608926529 182753327 727301666 865299038 532573266 368975415 810808090 563820766 340029074 851996243 357300378 354235577 785103600 931084628 148557376 222890588 498588572 846368323 164082414 448132236 419010618 725250353 995934884 298861682 266448360 657462735 649971976 382429053 983612004 658399681 759395503 590056133 981973092 374598439 766764697 473186722 631641041 199853107 190870758 896639078 904172959 292788786 324767903 706886162 832792453 796410330 499356620 276500546 608198694 482186996 792408353 575295885 633351615 447919698 204339670 347762185 565257954 760085751 817962983 988727450 665568660 907560450 616520028 807108525 548966478 348041730 610944623 116466012 196475619 945407856 754149281 178195150 945943917 739333324 182799551 999252505 443724478 575609723 541327851 924608211 785657693 632003611 560189398 868310874 742053147 720668567 170645664 457551507 681542314 650141304 615404399 972513652 854961815 259233371 253525684 390057033 675611648 370246809 593829389 609586267 231928854 712710408 986918406 346993507 866857506 771882783 444583483 314928176 919222833 733353085 529770772 414167084 592955454 154537582 254701324 361987212 990613402 391025985 507869380 822160319 475273927 957431668 455702427 722705068 477687871 911210218 609137500 410130829 720346565 627703531 254391255 646355150 810277773 991668916 806016253 242053046 715057524 486792251 494817542 281251376 352605294 292602545 879696199 245483269 479140390 246366548 170189238 512099408 687340587 178488822 127154205 281663438 626235505 530130041 714652423 678977742 144502669 103305547 160031861 553475355 300504797 435044569 544407062 319952012 407757618 323244473 330844381 865165546 307684211 761990045 408440745 782000056 866508251 108678711 149912484 873303263 425593068 545849888 608389674 254948010 890297847 678804750 289302967 493191451 730134311 355795695 369862334 371039292 219479675 308113591 884078594 471953186 260963564 207682349 443464444 516350720 256362598 114637962 903192303 477110482 242980027 461006101 559424311 122190535 306648082 829107793 672209298 120120395 346130434 132942782 973069304 976933672 804260710 648348817 585179231 655120952 178623058 106601984 960431934 681162075 637844573 414274399 644691987 260131186 558059490 968724265 167508331 238639502 366383871 761008653 810390364 137405015 944789540 695788023 464738754 175275355 243844128 233562332 945482025 943136732 485882002 390103544 539525058 653261630 745153486 649116974 377201882 625658220 341518659 783236842 707725320 103836861 619378424 923465990 747416153 231971145 329860663 133576381 693563178 963213972 941079974 220049967 638506491 647437206 745195180 588090115 724543721 164242578 853031342 992982098 272702781 706482121 902743131 427298660 530194559 392978968 543142488 195119168 186303665 601286189 452205237 745758900 680432262 901471423 438580206 996440690 248336525 100948280 498311870 864153888 635328694 242763580 837897084 179728709 330001798 171664555 663896691 126430997 693596823 983999500 498283775 355258078 509678374 792367397 540261952 909582513 741516883 220417933 239369024 128771676 144693733 189604858 135972981 398208550 389827759 281043698 168338280 888799050 444791113 763398607 758811767 578298944 135328137 578388491 807576762 328277003 829893770 944593047 971065455 227133244 206794236 237105505 515657385 801975701 976830335 719423541 513022288 229774486 241952022 791140022 124620984 312656638 358755716 119975358 791214171 445453331 310642066 515674480 904726490 966381049 175994778 993286667 107593708 359422979 838225856 990388928 447688475 493215166 458582058 668014696 984199746 451745554 590114975 505002978 362158825 846541921 434695815 110838695 694179816 872470216 668296000 174105525 694180143 472165330 610657455 300813350 215384349 358771216 590215829 322483142 598232528 978269808 944772460 961607589 930576692 416700529 883701813 839229235 776140578 267152343 102579810 458320323 895678033 120410329 782231845 309739420 495134944 246737126 139898939 544096132 467993704 663456495 394230308 171924090 779981130 346547136 540653670 726026105 233493577 279614400 651993787 781405810 589068346 335329823 619386015 894723301 343843460 350897049 135954646 537414627 605292565 755394895 901235029 235151589 411876765 618771541 485789443 959585922 766608009 667164386 398941469 294673960 123121719 166296469 892511127 261936875 186807811 943242254 731219888 817934004 371362834 603422066 862417388 722013438 591103299 201484786 202086348 989934436 444131135 559929189 470063591 327815892 441455315 619877013 103435502 617937785 117953478 797069903 491769637 775879725 418489562 138719734 145507545 231526364 971402804 558110645 269769703 654073746 970195524 275689272 626584922 503062486 820546790 472493025 631663976 843433044 682983228 358637581 110460010 243171397 320692460 854293462 592906018 139737450 310156160 819081377 543815855 936302718 431236980 258022965 656659333 533637418 297872208 364434449 763986047 493357246 628054905 141609608 538839049 322973090 139676685 261095528 979634987 169058601 148820021 206340046 987949798 800439559 257937720 547548965 493653398 771500338 613474163 331604539 395016627 729635415 933928904 920947796 157998245 581235065 928880142 103215526 527641682 303845027 561205822 120831020 590082143 546871651 231937454 505050675 608187880 671320611 653360548 289643492 887370027 901701185 273962643 696518723 537935463 570672287 842440421 623939331 921030250 835432115 795131351 109122901 757609423 488338465 815693201 500531337 201438774 685226954 293462852 571755701 741895538 578246841 307342484 318022159 828858051 213448561 447880880 298592754 151869626 139837452 490955124 987758393 546293860 780599186 277001037 529194576 699564721 663135778 228163641 846518498 472506065 800586870 213758347 468401650 921813220 180662839 229364508 897102286 294515032 798303080 722792172 156020180 873020562 112361748 259303661 680487040 882885812 964998960 562511775 908148568 680826393 401264141 195220710 531505918 374728607 677043234 207015461 365223196 786907233 157974560 863573777 508372822 549614635 555696509 454323356 524667138 532923432 399828944 543190367 962580252 123143031 355716183 543784507 857786125 962910614 899496078 601155298 912651905 589315823 623474234 426494683 162860984 696115825 419195898 413593000 672630032 938357981 835708915 708276353 429444607 339067702 781224948 338114358 980426847 578662391 910323973 771683286 140443803 497670807 168770901 723834457 235733103 828056069 960965105 454363374 871402479 990310546 823475953 308999010 454053878 539067258 485440593 577144826 464664435 728816257 538513773 760216338 985699734 256617856 468301348 620844945 779118600 210510252 724808335 581588692 223004344 945855410 123003189 135018926 527885570 472188195 761225559 369473516 831975816 498487586 614753118 459473258 872495798 225574945 527599988 118869159 295697544 456159120 777772986 650401576 711685095 522723596 259766972 890894432 250332391 149572968 482930521 758862390 574568165 480939788 750753029 842207140 777760329 709316625 990749656 648029835 424794039 322033802 311106602 442176303 668444869 514853608 880907008 806043314 667015677 322809080 563541497 699986567 167792699 469605436 646174841 458873039 248382030 529688327 508746926 770128883 232466401 176504576 461455193 125045940 741855878 368134890 763892311 831613539 706406489 860578937 750834299 255762877 252758571 719120314 617392371 287005447 632463706 813818738 632811210 768125748 545437842 392857118 374950423 460639063 858389124 106741367 541893958 356137469 690050444 817126541 588261604 879020669 155316546 571896015 453180369 568121003 530230570 995189823 446354580 281277115 644238260 753701394 234338855 874523125 707169545 228004754 837576121 624107307 801135535 296852702 250348868 677275705 753142975 934224839 768110395 250052063 147333926 164292677 465674100 359732826 647073045 445504294 757048768 521467277 200428087 796840302 861917220 948093300 537950733 599417786 419747109 587491479 584603532 245805745 692644386 869232375 696330667 216435839 910783317 666666135 995536378 259241661 385641089 937159676 698499702 163428503 308360596 625210006 967069345 923035237 792454368 847278458 415197911 726247784 559141263 269293999 132512016 152140332 364916163 795160823 558939537 272151192 810668163 479034509 590965494 812574400 309522425 362006661 600827081 390867853 657779130 592835660 914580278 559109319 733344546 153109645 295702190 385453002 901921305 627114494 992398782 192121557 616047023 422104013 242151869 727522601 455008711 614571166 369477173 794038634 232401224 696740850 695788302 766442354 657082062 514495280 126316319 479170447 983908514 609542201 504949956 550024189 392118950 846594284 471836032 448007621 888182057 775824697 988776990 406248083 815999403 628201131 583908285 440040982 549499042 327124279 695786669 587575761 130065739 710438967 495298723 841558618 157771094 307157869 403657002 181055075 699066912 739042818 407125691 966757598 499254499 483774849 936659986 704110546 884478037 800813800 414643670 722085222 668743250 653433673 581977523 216006430 393187853 848133096 655600894 893579778 768944217 500851566 444587933 584837105 195545360 639348540 381901885 281343194 687647801 174582876 166524248 504596861 299838898 384507534 213726730 579129398 712160500 814763317 288497665 839269605 192353467 736404358 432214835 438306295 597900491 672819100 286299450 577222582 347510737 503218835 990023235 850551850 463188731 737390644 694898849 898179723 865608384 217832103 273413547 419187336 462869416 404224356 339885232 464630943 164041235 411778089 743915114 605137351 529514439 189578095 133585812 101116375 185711513 242191547 397257778 343586800 410685698 955494328 103755058 757195035 821462080 421756740 525681295 538048278 100071773 226904113 626062678 405316248 182277284 790733311 456893183 848822003 267943330 453070474 475848897 119480553 941015323 446937517 607034317 781259658 529221611 777332044 636823824 809968855 134050241 679312629 210132428 201428114 835155164 278447212 623489472 430457048 734378824 172496281 948106543 909720502 358952144 739290989 336132471 517070018 773894674 987130198 985643582 129812808 922814937 332238668 693753946 450357138 982525631 744239813 545000801 651389977 159852738 965299117 845277758 195159348 444767319 515219510 617213205 516846316 620325144 624174504 583169695 408524235 965092094 730481329 618780559 478040583 621927634 142143547 320029769 334307136 183986806 534668941 762861187 609847013 666446800 750565025 499407576 996602277 666610583 416387622 322182269 670116736 939341346 103349550 680446316 381171946 339054141 287725583 111606435 752868339 207043319 300422454 167855340 556697261 286681945 937187428 904938295 221999214 451266607 598797802 766129788 672169645 920382875 463635191 504005938 955713791 545832829 171587430 829811708 614066832 287881385 378481062 941318085 943484120 291762134 542723625 332481080 414266107 790989866 554456222 162027480 222133654 218317742 403041141 765529237 507885581 982877685 899737355 858891854 982612496 861599616 338995128 801369857 237487827 523613944 223566020 104150927 247673158 639112876 677714677 497914665 466161561 942214297 316001550 378387132 411791139 209973668 804527322 416774635 672951955 319736227 797606183 502627011 389494855 306881488 961238024 984995922 306574531 620419269 500262412 316434939 784138674 230723207 470828299 814200705 206893277 831579273 241201153 355085295 719775432 112112465 138001266 881905552 201264029 464721523 644208144 214828923 515488744 835512434 362697395 945771783 683822215 165861382 889690788 794818900 863170448 657587869 598154070 778838319 264113296 144501062 313347462 721111615 550541479 318288484 410415211 690455211 352379586 876938940 673526438 786674617 323585010 505303220 466557572 147556903 213124078 276836847 280328361 163072272 899312277 876567880 879546266 919584067 796349651 662954995 962248638 367128813 835750375 722155148 438510671 222534460 188310109 987187923 993681994 551337100 969723056 528932837 283330611 545162547 196430567 728196004 626189636 202892073 542133729 896201020 948062121 259551251 778735307 861516332 254206822 841018919 912304477 184046330 523606653 680424663 982418321 659318520 548707445 337065204 231911157 167681859 142021371 623141755 832584442 872198140 682990844 412469431 301823237 455028987 955006056 577821524 838406671 947553709 248806413 320900649 963360660 310763738 484903779 328261096 350139346 278126841 202528256 922386349 884029882 313360512 367192986 373752896 522012157 643837021 374420137 287820885 883170482 612217251 226208969 445232626 828217230 838390221 452041489 416258197 328004945 460673792 778004395 370088851 384160264 722658450 396392319 219527404 681245530 656696216 340169851 190430319 665931239 943505188 283772630 886377278 555996639 704700437 910481307 905364149 874029869 694035554 535585377 539744877 910105070 852696873 949418101 884754079 271109706 487938846 446633881 221763384 767616335 415574421 564582765 203445831 233163952 225659536 171964006 996098822 672003044 190279851 536317902 251370343 852402899 637507465 738312255 406005943 831881636 354538953 322785667 980502181 604236042 370552171 299321654 397573957 714104750 922545213 223118032 605378153 691640276 411822501 631985417 956268343 546380787 727507522 925481049 256160385 856973044 235612980 983664735 555248805 180844402 592316931 141601506 184946649 306332139 441805667 275825683 646614781 142701373 627722898 327578921 807867441 991753893 896216286 955522898 144413030 554208216 637186589 829839432 146110559 596855198 523627544 386392836 703493856 659679159 342833164 829664929 213166523 640710091 531667149 181606645 375093218 970630403 712451697 138096927 198660292 267831235 264087971 248214758 533244155 445085997 815360424 531702855 754553745 636436643 748143993 129653011 945152201 567950289 382947106 140537297 564253226 776380152 706746060 736278014 598145010 144193094 161101363 888480786 637413937 759526511 949592448 390935791 268873481 702874013 824634443 864314384 134083312 641119435 751619745 705619697 532149547 343810809 896934461 347241952 574493893 807622797 535713366 953252426 516009827 268677909 432718694 437909845 344914294 717446524 339639045 562292951 737387446 620707041 516260915 216978144 944169106 221611648 531152494 287833015 421661093 642578992 493474779 715044999 274103272 184847327 417821510 435210240 152197692 940469452 808282892 992017177 369254784 272464070 453878007 724781524 460146702 282698076 196178782 879504703 974992647 446103989 989531188 783966425 127722167 615352412 582303570 445129476 511047165 114485574 757748454 476393457 454378914 854313160 555694994 708786215 231768732 633595588 661212069 122260882 924903867 190884978 604438255 158754967 327274688 637270278 129743532 457241844 267055956 652075453 783026913 537338482 706944629 731355664 223401654 854541006 976680360 929097672 623450886 766809034 971717623 440597760 332364144 759522664 481739588 800112950 102407171 793347683 704452181 399090490 956685440 381953091 942636382 520832262 452466681 508270116 980074536 801449701 207279936 148358688 525291886 693014200 350172557 726500250 373479141 206267276 722159111 759991598 259479626 148577681 202552925 741673468 141860068 320603689 835718891 312784238 255032921 361545947 791112203 655162356 743290906 644030587 450116165 570051382 533970552 547394392 129563992 200928628 231357720 141493322 261324139 818863142 585805176 310721846 502955206 997099035 245465924 958905557 239681397 739474890 648325461 273321266 210318545 358512556 901601920 145264215 110867658 928929853 976249828 657718842 497808087 794723573 360431531 764651291 940297070 214356145 224024884 614466508 293009291 902373195 780270620 824204639 107527950 903631240 352639525 428697945 227960291 535702900 406019581 334419640 707374028 497068340 969351461 570395038 912872692 824686722 546288276 355836821 626764298 528932074 149732568 982088695 395661339 391605340 819050618 999852572 836314752 138898455 284956275 644757341 624004327 377656747 918027945 371279288 984540354 464353555 891910657 728035247 538430589 268177601 232368852 298914553 689280223 159826274 981521653 867505064 971647517 558194112 572749813 752160498 343457077 884804160 905637881 456525573 798529776 910544559 691375176 452922142 180197900 809764782 381270126 592292538 535233727 122580367 180543798 279945256 226348817 681123256 223328665 317418919 741208039 226622928 115683902 976734144 549032761 388415802 920850269 185132178 163874763 393408799 127417610 678905440 795433359 149660647 302363193 346413601 255180938 228954157 106063911 741750548 236489897 803483122 254718785 714197635 147278302 263685274 482286833 340624113 571625979 190995465 139691330 688252084 531745998 218085460 332530780 717089083 810822448 824281769 606745805 712257328 901274325 317239683 915476399 940591992 900252780 533618753 887239569 444560434 260240941 595610597 797642224 794941919 983076861 946989273 382431593 435644479 706590099 765530256 583283198 506041566 477158351 288914511 449836630 946771047 132756166 699282147 820031071 865842529 608874159 779702951 674264017 826053783 214491945 233880789 789213627 187490938 169710500 829175655 974099153 128937667 958128919 162473477 347370843 138882039 756192095 591871395 977360341 525087523 166589007 971771056 112080559 815024476 594619067 587229838 271869435 795814275 417138902 552623956 995087907 339072191 797639329 950930604 180424552 530005839 381880629 578461651 843653972 628264772 774378558 258493030 853613593 446562883 235776387 597252939 883833641 171717414 469960500 790390977 360304884 679368517 644796417 622475783 758740316 959333219 758384151 816972663 898999375 678627069 897782961 765245929 823687184 997610514 608682383 825244135 577928173 105798133 687195405 952704420 752203634 637999669 240774060 102227658 910396924 146480772 617976185 761349376 411363162 451625893 129959578 770076795 470074625 560969318 282598437 653418110 424966008 812940301 474371532 707153321 443067190 185444680 620648957 674008857 507549643 766726839 488314965 446794434 110681728 389417819 696046796 557978851 847912955 896836023 976365104 299897557 871327465 968650466 133835219 777852690 549410210 937468136 587688027 350833271 192874763 520346399 646947695 899397620 649569983 253019960 138879295 149606395 179902358 519329171 294481372 193376517 846121183 199399618 248723430 832998725 716132252 105568073 263196444 924724151 585109984 618857489 125651563 820975108 296284605 334664131 486510964 182317608 405914358 468472723 810312273 328873621 526347680 296330680 140902528 284992105 529984944 585396628 432008510 930992846 342073474 680343515 610679579 618908500 147185918 835157181 443209709 822908082 360327363 172486628 859409720 933160348 958269740 559799033 390165747 981177046 872590805 819634819 299084493 383452039 236876424 989063257 294424497 289521737 750046584 195445848 834421982 616287987 816708631 507797051 991556500 513945813 863043312 519322183 255910872 388509671 494714942 469585208 413012333 309149303 719769128 884031339 222942661 631818996 150827837 950142962 583350622 102666440 837945478 451401086 711084531 715793750 811941759 925788958 392772988 906692348 953422205 708232042 352396474 259189502 806520484 601172863 799505605 289176151 746335048 785236892 781205515 108431518 693605269 516997655 285055814 678882040 548195241 485405524 734066647 634194074 506754530 633848945 234259779 671053248 232604475 836671574 465824712 346518819 217365737 444725701 236184223 828528514 469066631 178049857 441497479 561417433 550499921 610428511 118309811 947755380 516621404 387884918 121980157 445820931 220429617 717550867 489678483 175210681 369700863 969615433 430877479 123377118 948822676 465395361 978966681 840164435 401734251 674601523 562736327 945970968 761930782 184215297 245921327 134619265 789908355 647672349 810536134 386626990 744488481 553120147 949842285 857658515 741595634 408069656 982580414 953241650 431743845 127455731 282442346 773442504 301328491 445408359 422601828 128926688 695448725 772569797 228110440 862678432 551144138 335642118 818339473 461519235 709005036 470004016 204453345 313572529 406286257 776137932 436094689 609618972 358862961 704866866 650725433 388275475 702465263 940086042 447818255 791069897 812558529 986933189 416117657 120367877 210511937 134555831 574761171 399306394 703398008 627897958 745584628 991065107 617443420 662297075 755007323 557065333 881633659 858496171 405420341 167805337 299084170 849287689 481130267 264075882 355740491 536389112 478934836 345966011 454604854 216273002 749661942 432611219 479164802 372819739 718301459 753157761 148180516 938966003 826407883 922945675 983899475 932390729 777301282 808946448 488095753 560415083 375932337 115196217 312450146 626280205 284068945 347401766 331161096 320678758 745972744 708679901 715997152 693815153 358353332 461341294 507289433 319652029 216003227 553545361 549737624 322331645 135860925 462327555 293759917 189119650 260118980 528219056 257694599 865639687 805819238 178156643 902221385 665820499 362753384 718577130 585997439 419141226 104070429 833946589 486129540 701541912 276136862 400838263 993702865 866364627 844303220 830577791 778965150 949943856 888876937 728557072 399489551 196561579 921891093 495087582 521227162 978331295 499450786 658763657 202174096 950913230 604343740 878688285 541558386 703408685 556757229 312945565 885884720 100599184 657311114 792934654 964092203 340476705 151204096 368183352 264096569 118982955 202472235 498491866 725453057 270332919 331763941 321130379 824240449 496832430 965786303 265978999 234018629 771927100 659627563 223857589 838623930 846062145 330890207 542134216 655325347 951121677 425483671 774509252 943343795 783822428 591797834 389102842 756098172 857977213 200843450 562194669 957441385 810800876 471790733 547525722 221486375 983898865 602067474 547982301 704533611 644117805 197673752 765705876 311358442 532643130 529825986 568255871 556853508 953882680 255119453 157131009 520537466 884671633 404768428 250531094 432057951 963865199 735508822 571313888 754152015 973422401 317332342 121534863 734164181 265375489 571176233 679619445 539789755 154491223 894470779 526317248 899850618 560893110 777774366 779458844 221456262 260825236 890913017 133459961 133840503 772688382 697491054 300145791 214164476 713975273 484376048 123972635 601969611 747302999 909927288 218533480 886610855 810508674 305226972 496955359 899682976 853848778 991126951 794782120 824829308 653269443 237850741 768806393 600661191 126495574 805043332 223288403 145703998 131794080 912102263 414833234 310310153 369166017 114212881 921093658 617638046 434112592 622878391 918401150 821781252 588677069 432935734 978593985 130471656 954885400 931212507 490294561 622185855 529932261 524903653 971761324 551312139 399304134 347121568 593612263 173037191 256697134 757406449 194625675 816310909 141903458 654319958 423874091 746986725 344771772 255799071 147004732 323512428 132668115 473998110 161906866 217446370 597720723 983978678 935504930 830844456 600674846 203143975 604896424 669590055 411540983 915931884 282668927 995281364 439167356 842656933 405095706 548309122 748173321 217400142 596589435 307172700 182336850 684337135 466010650 587177756 262467066 522172706 577357593 340321266 790711928 158847778 164092007 609610262 501316774 930164284 910610092 902824824 984047227 960607021 396253470 790091079 132777658 462994542 486470520 573587860 625041026 147078629 173195336 925417607 308475288 263937461 489332596 691664911 688619050 335873086 890430757 951807288 722453936 707228725 735418402 701992761 336637858 643049342 461337071 973811207 775161183 667743442 138760838 593229614 876659037 280324893 160830297 625061290 816326961 705617590 956753116 272345940 433088964 836875827 299762613 867980284 793564628 900325776 494567804 292047773 429161447 409355638 343816195 508235377 676467748 115254322 672437184 511865076 996368539 756645320 924435016 139937772 724748244 595982957 532342890 593261082 844042245 528358888 284328908 697009428 298652111 566115611 195372840 187230827 428046577 537614331 338651843 328675476 978396478 769616924 721678320 321335744 898588135 939259886 132615809 372979058 624469146 534108727 695025976 981095201 296040771 295655561 904306438 734954196 911175808 780299981 943077774 591002941 417709228 313564241 254949530 509659269 777198195 914397788 382731161 882856804 120275179 897266064 240023066 742855774 400312763 565625427 969588594 862549228 265570631 252404235 279057893 903838669 892882076 992730992 866977417 333992075 176532733 343889803 674413823 571566030 846502358 314445772 891923688 896804918 381460032 995599252 630683716 870411864 850337467 614319939 484810476 322283049 249379437 610511509 609114344 440111766 248653074 209120035 730366619 730786990 128547341 603092032 749773749 959181166 893679084 135145489 888594004 521611314 321761782 677258950 458723571 271917755 181945580 144204182 363450896 593123790 212465326 863993607 342060850 519517390 517277443 699282140 337953063 260517678 850977720 573839717 491632028 851880678 579054726 647950798 745351244 323384700 612782298 144227546 636946186 917607679 243706740 862045868 289643826 709989353 946047267 949909771 664781065 305482452 369113560 320236233 783037819 895962626 198218800 658877959 204430857 566809785 296672817 104308370 498912862 984815227 405816807 969893859 633348781 380747593 275899234 943754916 649088251 563336414 733871848 964358955 729949270 710870722 642798709 880740058 821787092 722831354 549949558 987645041 739590757 872847139 905187156 781068039 363951197 235257471 240390321 537331802 467207642 689956119 939353481 324168318 683137487 427208462 717333893 326500867 252673912 680512858 846830947 338334752 663817982 672759921 200185507 798329760 590737876 731475481 782586857 259177327 204658095 375488627 474682091 848168463 662778967 372274177 782561249 136957358 967066374 668744023 127587010 335200440 260654525 151786621 927531840 121396549 772557486 549374011 941843021 873098933 518480869 248001819 426390405 499653128 335247357 347717035 720563958 465147502 425836836 414543705 276565427 111571151 128007760 555253182 910655169 423367665 439282320 231956955 137857278 723411507 131746265 103709048 673332293 644234519 719936713 103127872 917000853 789895914 696507705 327246114 829665560 802422170 409480808 803858469 789838085 711518139 937928642 292897182 896345080 669295995 111331349 368200854 776689379 253529327 548938419 719657293 104592769 734438686 269248361 768794075 466684926 807562418 332008838 492727082 256253045 196038680 471818994 560696885 195253954 237721115 780227115 761871519 535490586 876628460 734689442 746848022 227317736 588135011 643982234 774727455 349542186 784724135 397053233 424041177 727776377 193535276 267303418 148849988 685552172 471021945 181811390 320672465 777714788 229618289 162837928 820110815 473982489 483779238 682778691 725758654 179491783 362748383 504823613 873362417 181260210 400950889 330407253 458988382 895286772 915742028 757092297 693662846 352476705 915070746 762593309 550515375 339636477 568673561 586088926 654787763 630953354 565747006 514332254 357192672 756664083 326337627 815378491 186379819 682144787 951991263 236364174 477944093 819310246 139666024 760080319 197279955 602207811 293770912 506675608 215661412 894986083 307872948 439066515 542356454 948645509 801713869 927246594 989400624 745681101 258619707 198081509 614960131 709974943 142707733 855037048 320814837 125374604 528289574 141115733 280815376 559902741 468962751 628979873 834994977 630008265 838283450 825277456 804675935 706567383 853712552 356600582 639691073 992848448 813243867 951142624 681403022 207489702 956831206 698713788 837789423 241303656 887239822 607512795 408744731 387666586 668744864 341661505 520961330 383766232 244169351 757715508 788338218 417543578 410405931 664720601 451963987 758046037 214451370 396108862 255836966 854607172 834720835 623388802 677606143 898142623 676497238 638285652 146356336 777037608 795509892 265193825 908996927 162691411 602831355 194972197 399980067 917092591 960789147 757969596 240283166 285116073 304178690 674044843 246239000 724420006 334972782 221686544 881785378 193773049 517856513 824793311 342735195 829606997 247281891 609321868 985915459 892720938 268874593 539571959 835117574 618991600 359467753 820024882 345194943 972878176 389860197 748767598 456221636 242718066 165106601 485479520 211286832 396286079 878467171 736722894 326995570 809225094 726739456 604555072 524075877 923789064 722100418 879088637 235461560 124956444 953282827 479922518 878376942 345893197 737792082 244468930 303684726 100430204 470119638 811613894 761220286 198670481 522037045 109679803 735621147 226678457 105729052 338387241 735797472 981543082 802660007 422944382 165533414 189036400 413083806 127196407 966300754 151359864 782893301 542168812 688998660 220236971 639313756 664066189 912999075 627075293 500283375 768394318 871016756 978495793 181768694 316825266 426186788 106607420 333343936 928312493 193362712 379607420 663250496 276510719 129810064 118118765 832354076 216123717 176545655 659874835 413305583 547015958 763219857 158494260 425870334 748752730 435020451 332642237 194051866 730229121 936932240 831177426 871618651 945848914 695755249 150731937 344710684 593664910 821288728 883002504 713373135 386163032 915837296 341262576 322154563 419633703 397586174 320086099 891154220 251046382 302333232 650285586 118897325 225061475 216037166 894961028 239288234 832276505 156468016 762415062 690902638 531168063 166159295 880361569 256469304 719871457 197012428 964485761 963485411 506996884 347402102 572197359 106271727 290202236 126729502 912079627 915484998 539216070 594357772 269699039 617758879 463523788 516129829 382704304 953055689 938333188 225480729 912824676 810688727 540819357 313475151 978393660 197581008 622430902 640524395 813751835 709624538 658433494 121376785 224229103 708451374 448653496 200264370 872527442 994435704 731551827 958699184 591158749 722949099 165327227 305429262 590914433 241160795 863462713 834264210 822831050 316449612 220863185 413591560 350080285 898638581 709888361 858654695 210743818 953270994 377943178 354853714 160198251 981512304 389260724 776897860 405644183 840288145 282933381 167660912 283538084 422268687 255626879 528168906 642321438 569844923 360880636 712012654 361803458 670748825 828711475 214901326 571641621 101365218 344626755 131437143 148888592 791901586 298547214 345925143 667527115 323950120 232956022 711706075 948467358 263368867 851905712 975654565 346644079 185893169 750034087 284823338 304605234 631028837 140217887 973256492 474359424 509240880 911190901 219553604 430990215 337005916 851763268 367826969 332514647 408003948 499780362 914272561 335281181 425746735 777227054 771032581 313438035 501680733 774818536 474248531 707547208 754791946 512366334 521619861 883966905 892775614 857670253 116068928 201556103 139194556 949709360 759108144 677621498 363641779 683836396 910369827 145233348 942075490 359968433 784210854 192451273 552868524 240271960 134198973 470068996 230229061 775921499 521464689 846836752 341283495 322357238 206940722 741536952 246616410 353563437 234677636 122441442 225488275 972539418 574620577 873891093 223431490 127533773 736887039 225972652 477598914 789123171 995239320 670547953 730683097 212636943 898719211 348114855 761000608 751358541 855674149 865677853 851602585 106123353 588256322 859181135 968591044 958910973 800869227 441641271 491122447 817877343 312021791 314642132 621545952 255278356 303043681 642737837 363657227 225952861 399782939 303288055 572196044 347734802 538120712 245300137 270594280 619249827 455332558 151372784 663475624 227314045 477379292 614548434 567228919 476822552 860893123 327085594 594612969 960934375 810224941 552474439 660473949 988663145 898392711 950312972 133600621 166677613 470557560 697116572 270926684 476003048 651339966 325193628 995004451 891530029 722113385 784329443 304508462 320360451 636884349 209346927 302083515 552143688 873734511 163808774 861246952 608655637 294127496 315190741 392767496 521693591 723757530 826317280 706135026 344853496 314902408 535995067 590419953 628250274 651194154 438877990 515120490 681698376 390559400 696205166 265606570 477213215 236571171 330464017 214969788 789882105 709545362 124573333 872566835 406008220 262378084 754465902 904225058 224390756 823085115 873703827 237483776 379143518 236454335 106897039 423444175 313380715 435029952 987581893 637483100 989287891 788535509 837509498 520533782 600390759 887538359 948468394 507698412 513220744 417073213 885009138 737201903 253972754 732258939 581855905 871940861 824981685 421998287 321690759 145885127 148328419 724222459 953190557 419040209 400841746 580760594 168097326 833162475 588101716 705758868 804088400 234013889 241685991 549811998 163428263 474259471 697016011 271327109 985756192 108985075 777221634 560455719 501901736 246050989 648754476 298470858 631442298 727736623 257076547 719900383 998331997 745153926 263037429 147110842 997531713 860833341 790492408 267236360 541552457 393719813 903176676 491752292 370343754 411052432 369147357 104634863 986978790 639252856 842351370 472993809 803979174 664551147 149139707 830280091 811586820 594809813 321722414 694411766 603418816 390687458 587498716 601221591 892315538 471749981 533192950 950202976 430420070 167166956 298472556 501404837 491412088 260254567 774125655 255026155 999317017 962629877 853521506 443039753 114857308 318424081 538922008 475875177 967756846 161515498 269087424 894373203 811718682 325046109 567055179 777258564 696268419 770207305 764127017 865622610 959989554 620787419 435946341 537300298 218425548 891296961 169840245 851950527 322530960 299237517 400577789 941386849 774766762 834861989 102674577 418918244 123934047 413922345 548728575 289663211 691769582 844111908 899758584 906235054 453430679 822426119 726198078 481887194 199052843 918114906 564931249 148814845 102452304 661658079 490621652 802559233 686585306 342133072 627319678 815616454 474638124 631964504 744934552 200393511 276467792 694238567 302572089 498706523 689568434 879960385 183897310 821235587 785132684 437502457 390597419 890251102 804495210 120784026 794080333 662181052 399375216 305620954 459506344 370158753 579230843 665355789 690565360 399155624 206704500 698403806 748025635 932320715 556515964 404612197 484065630 536539307 141888522 994684821 629601800 153664094 559765090 554934287 989417985 453326187 225060620 441574512 348677328 636718149 784440685 420715688 500393200 851663667 531075113 653926071 473835393 549868917 819357585 158840084 966215094 188597469 809393570 779303484 720836196 207414343 673818988 959648816 440577461 386951188 604237628 254713642 808514899 359715275 675701812 315073703 967919910 487437445 913584694 172507270 494007108 113323284 550596855 841320134 421566127 815321423 210907526 146885802 747894166 116278664 650873366 175245836 159588723 235279128 921216181 951346318 288991267 466710133 539291863 571387170 578700424 593904563 709473793 200426516 161978685 865667429 485420998 113495724 616289769 479971013 177206550 242296331 273049040 638137573 800637841 212050355 829847772 911716139 671544071 728280995 934540036 898231002 872468072 838792622 217199934 734936989 670967574 633039822 254860025 450445611 166839151 458482771 931350393 351124252 425358662 609814509 269620823 715184142 473696814 640467197 412840991 789723919 460845661 868123155 516303319 869007940 412507366 236099622 360813507 188622268 708289924 288072062 607515639 910311035 110425431 497618030 651350554 793279828 625996777 195979951 695275561 201262623 366994613 366782109 878540117 647205972 498002027 187435327 336609785 557642810 974524066 916338492 791915054 766347172 310770687 437130897 596017440 923047799 396562636 753159080 408467048 264167252 282991852 468254883 208386698 652547803 304635537 464495725 692335562 620318579 460878311 510235078 380297380 405842375 532128085 242662155 636834128 706535178 554679513 185551619 326709840 158041553 743624714 533953179 184930751 353650609 265138261 707307843 196590574 705941205 466144713 189607299 521841148 453490688 371580880 889825629 823523707 166553517 713211703 248843028 242424510 734985965 301521631 756609615 994027648 754590124 924504394 456966034 562197433 508271240 599536366 577605477 630512101 621098188 981827890 366330527 840728773 213362524 343060142 662547230 412616680 429477256 450563796 697683724 392411488 369189799 124165829 961668511 353548265 520952995 782202295 886647327 926863988 711794199 936105348 172476882 653301633 694915026 311889378 343839799 404947694 244265770 462148409 234743957 693806200 561200248 223023937 766058984 414293032 952073528 568092756 553066109 843626693 531991388 538128368 196339036 375412021 856940954 464903933 631204266 152708125 245014371 241344734 449965135 387771300 728093973 269978319 319851419 650635638 269958267 578494154 140968792 143625897 673025851 326553433 722223572 831931439 102066654 142473737 249295032 462657935 355034157 472474539 197760406 981716824 243571839 711262158 977834668 100932515 251753818 338897601 115786415 254132212 583433398 684568983 727624491 260372537 562683267 262583147 769205328 426797333 517239354 138072617 531867736 915888054 576429802 969719306 225913490 893826320 352179326 813363938 600638282 649930392 222061098 610101167 681984427 944695686 922325306 344543685 836249552 625879036 581018945 322534724 546316189 545260354 282292091 888260056 705253990 960660994 446475023 769636823 961305320 686589302 973635179 468926189 874150308 596190352 814416648 501466500 112645342 730636426 185793920 609257840 864441213 107142398 746279765 413090837 491304720 965192490 722337919 306872456 698040627 306666549 715379812 816926999 937420556 272141748 429947454 324335446 246012616 575208825 629806638 628003621 720122246 902064515 277955945 411077466 329376144 151118164 752708187 554089016 507115571 419053389 763737879 975022527 546230954 789600991 233729836 521060185 482913494 359482024 258280423 581640191 773434936 714747892 365545151 142703210 755127628 415690410 451476163 344004915 552389306 612393960 203637619 986707272 544138159 974429975 965409941 105581436 361850391 901524184 911640022 411762606 477049373 355535204 234202605 330105473 244352761 604166887 229403072 633006252 670158454 820522497 569816344 618874704 302160313 636847599 408723669 555956082 371497672 773475127 532841140 865235476 220943503 134474273 979956354 939099080 685129951 288038178 410890012 274223328 447613635 802716203 338074948 626953249 725550589 250552012 370540996 287034245 597035567 949604955 214816652 434304215 903672230 272785451 220709897 658864452 709421307 769911144 988944563 693811533 164872446 323531802 374348333 885981203 980897409 482026930 991743861 453421197 381362103 934307277 347121981 626255886 984409944 391801890 591463790 159164563 135654559 283647814 370956548 766759376 153670391 784473926 368077391 132665502 439601538 649369757 501639085 183576183 767930545 830301120 386553053 156249635 414839945 291881004 593479902 188747192 673635805 942498716 832669997 797287022 819648181 410280683 731113823 133890228 836354648 955156135 682009729 704443560 158371548 603544686 641245869 998602620 429186788 264445007 121919645 734359541 296676126 148034085 497106509 868197540 398874263 934751423 621562757 879215100 677248128 880662468 909650315 569643734 511079752 278153555 741133362 759282111 562407804 392148091 232933542 136655454 307847694 385803801 397439703 879117657 557965835 499028849 141783016 799445657 621074532 846999947 578502584 417778517 630296373 331994546 424307153 456515697 796713860 476612657 323976949 783864295 606334062 426313450 384368833 857322164 887760343 241818582 664394814 299057013 920142963 970281226 271136382 124299885 190995946 184591515 178398548 642366361 649322640 284782487 390365410 145859775 683164663 647301084 576310952 273604443 835345501 126945061 150438337 416389608 612675614 559987421 606118954 328719171 615365760 850211753 597033263 937822047 927547586 786701678 391464557 734802297 286659048 902551963 475930265 246909612 633668104 945909937 837810000 188821147 552466919 846657384 680958139 238124388 743000569 198420765 897541948 115980559 501626236 112615314 382720319 759319949 467585462 743302283 381002302 635330132 590285294 629674016 577305215 450899025 722843933 715841967 481557811 622434558 563869104 295488192 871898226 713733592 114458229 929772353 740954147 883957075 674121598 404998216 547004442 516171196 668684973 533854842 912220128 871902418 856629929 847709183 748476433 449002975 218681203 671963159 697852771 235369815 947219282 485729053 780177615 182397557 119341268 118238599 846205917 817459017 162512127 341013909 857464541 816122129 959587855 785520439 384916165 247353478 406040842 261917043 187480912 924428431 486977243 866403016 146802515 641613308 245787347 748642750 935176002 199567071 335217461 953326114 600390814 847825606 293794064 343324502 566022034 981535323 438115457 789684387 921526478 711516176 363012008 840521764 172491599 383236293 600770531 604121411 363116746 781949810 877475109 742861750 571394866 865272171 290474106 519906356 830571698 281760077 372483281 191597389 583711247 122908374 969961195 575357670 373244736 179973319 885919962 133472049 467868972 754002195 565066639 561484186 786765998 895070137 715370109 572635142 234685222 126042450 522759083 949661013 922728646 760338190 263220435 807459015 449368163 659663599 660390272 662384379 745312653 225554316 520946696 882771753 520652977 426954760 436321192 890567959 730401952 938695608 331646310 795617104 587379032 338534084 479571015 467031810 492001870 784992910 252828461 501079517 999126968 519288296 345270634 784476276 462479844 176150934 103132716 982219896 712490797 758337799 874465377 998613962 773984042 698025788 665342841 702697371 485653388 895099077 405034552 543533894 148103419 964406405 325159854 467817255 821412652 937241725 655189120 504654304 662313120 932619166 428515834 945099553 418640429 822235194 531752087 524332150 796682195 964855835 292324357 497272572 459713400 967938287 558837792 228878855 976007475 548626716 643339900 120582457 718335314 575223436 221629913 145969460 827305631 858991995 380109809 571259300 612258003 899971742 534437708 479751546 733646459 302483360 238826947 761341192 316520314 725432685 966621844 377449830 798401023 672143164 110771396 539647659 674077155 469993031 853689051 697734116 889020403 227703448 393119157 786022243 419067257 325006555 680228576 494909703 280454943 698080093 509250030 922569383 707949782 760017545 906989507 183941211 708938125 316429170 434456106 106957853 565172845 987275189 353620470 291574193 522773213 332557936 745330424 682700051 972729983 249327176 418620720 443416443 168110697 381117260 230871283 244445835 707136289 978439533 279368045 864081700 311802214 434543599 228770373 673340423 703534763 450256042 819369291 337924601 579984884 182745767 160498557 602464756 662253525 385881276 872095852 737991733 684679536 750607350 236722033 701688097 137413180 927410956 123112966 838920870 706220480 732951290 485051996 259471699 932675890 478789571 902836720 122437955 701422616 676266958 811949609 991043440 885943060 278815429 794994699 852878458 897560928 816216775 542248519 753757720 452745184 560611019 929233759 665908895 790548758 526311443 221329168 161032413 333455633 353165771 727840954 209214001 650073890 757622822 203348358 789195919 753489782 450874705 712627742 199637590 511519530 510983302 845814712 722615462 377155036 507605257 912850329 669391153 571157182 573491805 791174644 827410591 456248564 476388369 170976561 168295399 685861154 352611225 406896925 205457756 424336600 821940215 422051806 957938810 774083978 133120201 636158458 582935236 236088631 171257332 714703000 415748225 119668397 469668918 904575209 571818041 715127256 959759866 357796861 269630481 226377774 470004074 266003399 270316357 170132083 785421399 939735397 732754396 482269304 731580146 955418299 118158640 480265110 137699282 247520357 275765014 232335157 357306432 504399109 236281412 663912692 180054374 994209502 119185939 467383125 563823493 439932042 838110508 566314251 576458223 752703601 241892281 435601822 546363910 141742056 194323759 650225988 511206618 373242614 543797305 864767880 272657952 562664134 634449733 861343937 333901757 680494260 754273946 256927409 492293232 811701878 410630129 273669524 510420249 506379480 560331121 557682080 621323355 400354679 704800138 410524107 167383548 190151282 370636548 317642417 706609762 716604837 566408389 890764809 437790453 740930554 197659287 522744083 219653803 255440763 367357539 407498055 275224862 409529628 346636858 335094848 601601698 495121810 717328536 837944204 622111885 271889367 680521757 866047859 782991153 524045000 832548971 416210428 391226797 764592048 125096530 452584062 679918403 287969966 652598734 480267362 114353283 211861503 711984474 864081501 241669237 712207354 572423607 410846972 147419663 189894922 226067943 795959980 329837380 264874686 251576041 255793770 642517011 266557343 998112377 834163127 749340242 435705885 239836243 415611901 585566551 289680362 521773609 972856129 903047249 307354716 920590382 767484147 798727649 830919252 623542463 454751431 645729386 254098280 202012562 807157707 491609657 648947822 375972660 415991785 447638174 500789017 863751927 150904456 399116096 470582204 538177903 191285204 261220514 840330836 290229939 199825689 468705899 580832135 522008756 836606073 786351037 398634979 491359794 179770196 831337144 968985899 264962781 161633096 920410713 361333483 742574088 302052383 125168151 579697705 716625103 442092009 657616007 869534781 859190244 351671826 889980671 872989634 113091001 502238638 817092764 449065739 127482787 341242238 659459481 282271650 607197850 667996913 391917667 535528830 536019572 203304871 952348526 771215344 963277099 850918083 352401870 945589913 330546028 555948616 864748882 315537385 365048021 171163468 808005409 421524308 173813905 421555103 756469496 707674312 632543984 968309552 328538405 392303603 100410452 929329223 703804507 248388132 297319692 949985039 247633779 524138247 785968000 363858070 267124580 771909086 121237516 253915386 592540469 806745612 773038331 834228081 248365946 871100819 959411999 458824445 972615925 806517006 321204807 873660040 911563854 202414324 672059888 773658825 232850529 896322303 611605762 469005874 433449573 992116072 941698348 739005265 355212073 802841699 131224212 115972373 747075543 776538760 616684502 452635933 242205111 559507889 206276021 681762080 369216072 776284271 719264871 536583638 258999096 225575264 292952576 871623229 290432038 650967959 773675200 629609463 542685191 463528033 875168178 980372249 665321286 334892976 931672719 139519158 455786526 352099751 221338046 370226189 254401408 132807464 354018323 773416187 142936311 157960301 209349073 945538890 106720903 439235721 602504838 781395955 700843969 527740899 987594705 388386278 573704501 789252516 181976491 294693675 244756897 783873125 737976281 886668732 799291681 594198301 851025165 296667896 998781114 408996892 542391810 780836508 257315238 746798197 744916050 706351218 573342841 217607006 301060324 614686599 521190665 645075004 600112613 858826734 220400799 781296172 431921856 579915736 131481104 861582659 727307327 339896807 191752410 984177017 518012645 704666121 384714081 171494677 185619216 728558078 666040800 749129076 464407078 887293937 943517500 326117111 747459381 429840806 875531003 646055529 446641783 254368430 629434595 104511317 967135267 463137515 549592922 307670044 272588700 631256818 602038125 664275297 259050389 809414974 312194726 381330259 596919971 789985780 732899238 723842994 353248460 885864316 865514401 423654063 842030100 339948935 868370141 660740942 734031709 126192351 355464292 200738954 195689940 951564520 536654417 810023509 558128936 124772408 486958854 875584550 253327399 950733567 107917449 683271076 418419567 563390480 515975101 326610215 858398015 353102158 258837046 943779057 488836955 283488312 217778925 169097029 759937745 321865418 223802784 865057192 504833510 786385545 793568309 848691889 210636929 442454629 112404176 635154068 685683895 166367716 154818844 308971778 358886378 145849433 197780592 543121363 750785519 158450886 529031171 401147589 583791583 281356129 937065709 265708737 470457959 764745266 600498425 126548263 453725808 130215672 402787485 918000991 338026263 425226389 733024156 310654426 369384818 538373870 725991897 515126721 944976122 674183618 261698582 421453975 704587416 321040248 781525668 698489638 615697573 180351577 910845759 754006849 586657308 766646951 110065845 724927568 208741328 934924299 291932146 905725503 602987015 588095978 356976952 542225608 414039484 120337254 862455285 227504829 349585457 608627268 770909768 830316067 718412475 506818561 481904775 175790173 779915026 463191325 112851964 112985331 238744728 469082974 791879507 102336071 708324212 921587167 275151637 927584370 979925810 791448472 760338351 109653230 910313640 464226973 243703495 365672196 705250084 356304590 795358039 565581733 700252792 240194543 984311950 607345407 310696569 420897674 622255330 375716941 606674730 963450907 499939607 392927735 326959666 131032864 538741750 841906136 478826586 840522164 925815703 767815160 598167455 686805735 136575666 420335749 477697991 254223620 744934962 226253245 496082421 611341049 534935856 271050553 331901145 656976204 297810864 938987898 617796096 531738265 834605699 364176779 818637124 453146418 346128445 830125151 485478218 210912529 779978338 481009631 364792487 522341811 928904224 166684801 477685104 244436536 195342841 508787244 941820047 783196592 614623095 859034761 603233312 522012919 826365418 508597919 340862304 770159134 694184814 828702028 477833060 458819668 792617047 663207766 172777759 492225686 200931445 113130286 861560242 108602368 288296857 155583865 574944768 160870537 495431847 145129599 732610028 592571594 439048069 484650168 571305004 488546767 746883485 382268784 319832557 353978399 325560490 213896722 318352077 629659792 948835086 350068208 790926574 370524891 310517866 129155770 685528189 615310666 715085472 277806631 372140228 472034593 971474894 622121868 671558052 863848818 110084741 935457217 364644351 937480149 845299688 477508952 809321820 661026419 172567946 326461262 922149219 263261720 130858349 939611455 940760975 500855905 602417419 650990520 447197740 891626983 782642332 561918951 519955368 204591640 700804364 362775155 679246991 842278883 204984400 591723680 396916317 410372487 638090187 856567460 635845797 263181838 517447896 838836329 168285224 566592816 501832037 590235740 953986386 175477434 409144271 555158479 761244959 301280938 963517344 577876910 581392514 142648570 332460222 979564571 516630592 603307014 602376747 443680011 627592260 925146543 734921605 776088956 869599699 615994329 723697657 530036010 241914212 827203473 721660638 758984898 143638414 407672314 697921576 861514520 327628507 196328565 426434886 415596725 370546108 795208429 324719293 184901078 904915721 233353172 536568261 169836012 850163758 684807362 697506498 641716833 421192922 307981274 923773274 705367063 675685671 522737322 657889802 640685982 930719586 591312887 690070600 783505341 739200219 604680224 925499102 505678946 804306515 273454576 993684613 631917941 904884050 616351399 620292338 472078245 939021035 954055838 111326684 262015082 463525614 841221081 345402035 764931994 203598976 792104727 382816643 898110671 336795819 951376297 897820094 973628206 723260638 839307905 921895899 756027762 461642673 791410794 994162079 458034210 290938175 813065299 317948739 984128692 893956686 386130336 712412444 593423972 948424388 628403893 254326389 585041126 385522911 217217410 732308103 796171185 333690045 341006075 230705618 896978492 615192599 620921204 393436410 892962774 593034230 990750710 537363055 533476837 983345344 755469690 500256752 335930622 877953855 508838129 955600253 226043351 879722772 287525416 453154682 453144236 991592922 227572938 829822942 787843680 161567843 244415367 771546162 401804730 679521555 779836806 504537302 779399430 150427287 952849871 656519537 502126137 502540976 882702124 679553921 183209887 656277504 483264825 549816621 407267432 946828525 654344971 577765319 887098121 602009290 647289794 163681932 102149450 163598091 373823574 949739163 314837910 559885226 600759194 830871561 737151979 553787521 711026361 186241103 254116720 841229431 733984290 141186646 568712752 458971008 654362791 394694753 759450256 608978352 637668659 549600317 959597914 985498505 430063751 759217963 874865823 957905096 246233352 234642026 225758508 339093719 824850543 369990282 466269027 989561489 615834109 111081046 809463351 330552078 999881349 342738446 421076101 772438777 859505153 293525201 254177034 724343485 971069978 687506197 653928441 819351789 200254502 472669432 319785994 891963816 909193256 966700903 559394117 343653300 853010259 618553216 222736987 830616622 138934516 662147335 405428499 351320003 682946525 737037909 950770791 888821463 812610223 773288435 641980682 392588240 489216028 603479570 344136599 400662377 751578106 425929681 700233537 747701327 231959334 324989086 524214411 416869324 671030750 211765544 562900360 582646110 987484320 345648846 559673604 122701802 655084258 667122967 581768653 659777060 393532986 968431961 506859080 449056972 409332881 365095095 287835502 398672818 527743086 881549830 264456001 737777782 614940908 887515045 400393892 910251102 305980930 823448853 543922937 806265696 252530087 211174756 800394828 559906819 828904108 925602010 979865263 884439812 250024351 961075886 987442407 838031671 824803080 225629385 895367572 312916800 111575362 945336347 326878726 119491490 369253962 140148408 672014531 435541195 434856866 968076572 581179652 398285204 728905230 633746979 973844313 540260900 605493807 234737582 580167230 648183286 480892323 607184695 768961483 730656844 264834297 218713191 932646313 817512520 115235760 869510229 214919766 968270693 133961725 179033760 704700134 961257531 706274336 962611146 879752304 510956263 370350167 723774149 212197388 335368020 171702113 293777747 876072446 896360890 791147425 172646090 604874500 632713908 349729449 256308796 188608734 275658976 142531641 802878473 624668804 360386339 794861623 910596100 958280063 391811461 411097677 129944393 726413366 699902762 891461153 851880514 725306374 408121283 680159250 730922108 404355674 255772994 193130964 894155043 679235826 900941036 921407687 124020646 504601237 572998957 891490469 243226491 159947499 500171217 922236626 173597410 557605141 113284753 514639119 648975395 772259325 873097412 313715433 829813689 772352790 197594680 101474216 344184313 153417472 289440429 527428493 500628648 130337398 176451692 812998960 882571957 581055165 116547799 595342545 484028190 264313605 247347981 289225455 782210941 717038048 459338469 359279509 138884100 383995258 106926792 713966641 414829813 337499397 576353803 829437236 136512785 759765502 162843606 544492690 624768119 923724722 376111904 202305444 687352378 327371813 268850473 551490486 445150073 299246449 712397930 865253548 599476751 443723006 215000545 669451144 970663144 685674189 281861679 353391622 706049177 123189644 514806389 136817346 160687515 350133523 762237080 911117328 955619362 472403760 694184203 645420076 950813679 524194348 250607146 138554661 599711584 655214001 138666769 388430373 692946429 614035483 954434654 925840598 201676988 234209993 199832236 557199835 574159072 270934939 767484496 798005361 501860992 922472888 689667868 114421428 358933446 454275636 333435141 635850612 117959546 328075422 471304607 290531036 968373911 937827005 201088616 728467203 874538047 308256106 583670702 138667994 209553739 881831126 309853278 146956732 823254937 226360011 843612543 817746569 402786340 780189590 760239641 102963641 639400760 371664813 991548307 845346254 157209527 334472423 707484898 300233020 993778369 137706399 195973427 360447930 480657738 945195344 271084749 719693037 325669784 289053824 582423714 444712725 339985045 112242561 124813771 722439154 496510819 647482706 837283430 217893298 967474989 730053972 759831135 827519216 807578591 627812517 530111446 126227523 493400782 612614258 896498429 172059276 597446064 386409827 212638896 867000406 339352658 993905853 367154251 173166722 373813558 641294699 756307168 452045990 617317376 170484563 496392425 630405241 967953603 633454145 954535277 624957218 220279464 599941181 612733310 444131516 803862733 808834942 981798917 869079228 594850005 814397997 647506095 213024998 799350329 595679866 590066431 996993592 340450795 161977822 693812319 704131124 768594686 127631083 579197535 905686363 817450499 345531904 133993752 846028887 865637833 149935433 629205558 434028529 415015879 931706940 925851229 462226276 846304138 719794294 981388171 218029747 801031627 651866017 971307235 452932978 292896494 765302276 782648345 985221864 991134167 797835167 711970928 902456450 625408472 413424421 946905392 659250666 295089773 938152727 396477459 624721866 733003297 106056002 708159889 887915336 599871929 425839675 335210671 981101237 960145592 325207239 239969426 175594157 781794150 714306321 266988903 825215220 901017673 710734067 701527101 957411314 245136170 421292036 925394691 815926490 912967298 300386895 615844301 991577861 512515625 396489016 403493160 993576781 735469955 118693038 195839426 991481979 388835805 219772487 278907991 111308083 647583758 349327044 462393386 793421059 789504029 303119517 528268058 459690665 316908314 413178135 198036706 195446287 813441324 173260652 390715414 103508420 458753243 657997771 186841694 414310239 819757715 298707864 570329156 898870573 993075047 467618993 905141067 544513358 345443253 422056706 594793796 500116417 332115794 334936034 865697068 538477152 841233423 473871736 555567199 419289788 794887852 927492897 267399903 496235707 749247616 155042366 112052023 195753692 893127529 549357813 387999078 237364499 360855895 193964052 745613254 693677317 891651838 840753252 432609992 645162129 739834589 943001800 253986857 921873710 585285206 737015642 829879123 430335635 323232016 821560749 803166599 140484380 355179060 589627567 938305342 864480839 500928759 959107222 386603474 515493896 756783985 233611945 791076843 950102218 856412063 712592540 161232239 177584510 864413403 929266536 367855639 515025795 658114194 382728821 139906860 320845595 778815686 552822505 127915614 672059755 521163660 943625455 846989149 840542129 940645800 750897896 478982447 337415713 174111189 234751106 168346192 133236375 739376899 787497186 789671160 126757809 676102049 934989107 271235254 730049138 530573114 894919628 255502850 806900378 782669720 885072510 459279794 836178049 388848451 499734162 476185937 545228682 699764056 336380479 852709145 603699674 406024369 269120764 425560368 263203009 326100552 872655727 891495305 756084454 406002251 370535496 245445650 258384991 316544170 802152244 656009994 605922646 296333019 223326715 953554522 314310494 237908235 213989925 928204256 273731367 508917483 452636049 730362697 450958541 344345369 776676594 369526400 754668121 978214052 877015816 289245912 625325070 360155797 546207941 606284014 970689940 104803577 680707610 296953419 986579627 531648089 702039609 623579446 175042277 135766853 277299060 358811747 873127253 343887358 963648065 730828906 301572329 404962840 729554413 407919569 182796603 596262601 236187962 380422391 561905080 503622778 396225401 407567841 371378929 469139692 341803001 703627390 341889372 864736865 654946903 774469916 417196713 747990509 694858635 489340777 215001526 256130565 696605271 535444478 286922688 936438970 412423480 113483343 689710566 434164329 130944679 963917780 735545207 776565560 273864206 195208138 357240278 678987660 604513655 680271162 656395610 913869065 453622323 572933936 606432510 218346590 881375578 970410033 898264550 412263024 641209189 570427996 484867369 127969348 329704243 433799564 844511508 285543953 645333499 541498825 611349664 295648346 935417211 855300160 680156806 227700497 251043379 116981538 634841124 846392713 269191038 724391570 539914369 676104493 506947796 312873813 561902555 132858219 581945890 886358068 876717897 951215955 998757317 837532792 673759406 222510105 541193167 576708895 284464130 437166135 778942655 356486158 716372598 298922403 384015274 404334011 351978162 711172821 287849347 447241521 971664045 851253780 153472020 198559798 509520564 702774665 677376866 243823973 250029825 931374860 143704098 729097257 418574670 578395631 225940588 588310630 115277656 636386371 431474191 442719082 501757292 904085793 176106178 394374654 412389935 738265611 755361081 319090690 684934831 916674780 754244285 704673316 830627034 523341199 260314439 459977424 244170834 745769295 119196983 691893441 944786253 160024436 424317045 483906348 927685628 861121791 444515952 900780982 665928552 603041510 704389663 227862796 533243645 933346032 338679320 740833290 837122209 132070016 472819099 377368704 246693748 479152786 642726736 970174872 778405971 240999996 785373613 307748977 846316487 691469620 107431172 867619389 576409617 825457037 912329802 281218608 229058076 166660811 644090806 713290656 652825464 601906621 206570730 213064088 808493670 879610489 789686911 887570479 315010805 921668401 859860661 168229344 992629156 931749584 521023806 690893410 738208010 487358402 722758729 674737315 228014534 460629054 189474664 679462441 642006567 758860736 128108430 238896417 483398579 324996120 183729961 379116588 275099546 979941208 614100348 348795079 494177886 614872226 796677826 585100201 785785862 788167098 361976003 311498148 178476665 518941918 946253449 451241106 829600101 293968324 713779970 992551091 229532349 860312705 246545069 912951637 420237663 789513625 595742438 829993344 477370732 874275191 739602388 516160861 394140120 120477355 817228322 321278725 515815578 211527448 814735937 837823557 106820426 206705645 975672771 873688094 758113663 448756479 793556173 616090244 383775226 678085587 757388218 838133174 138454099 643543795 955356995 886719598 374986337 541373571 500871860 112308292 996252182 275808405 431347465 513127760 995470082 727530595 677142834 668167484 926594308 771012678 172604776 736591994 647572459 774180746 928125538 160059332 346989353 279541467 413694988 983936260 359697272 683555879 997604451 634326494 644994255 751527162 631020769 134402005 492076128 555854272 120049855 280600566 889854580 867303272 898016615 513721529 445336718 129568261 350642382 297074014 481446589 597261947 528141583 574368591 984251255 535166397 925578909 129339815 672986769 132225637 758233788 127016408 161645464 480488360 936713967 985670802 228252754 944579320 574345171 382804456 295382734 442294910 266880350 921756447 364108884 390306388 853532736 305724443 461449975 712246086 106573577 353954616 663230043 290419780 713354569 454353973 806979890 692583508 496942358 345451304 881738503 703877429 357617526 177368712 330644583 190694076 198258473 740186740 895604658 542872069 187194928 436456966 602955864 306871975 876058827 416228278 486143916 724033061 964910035 315708876 816868498 571023744 674563563 583902453 809508840 992003502 994063955 963385076 955172211 838680163 501105937 184165430 651810859 847390076 477372587 734853016 545287255 612872508 436400159 626697139 833654290 153809745 837646087 470152713 365540307 762081028 274324107 914058118 992172336 402294958 701954516 473678065 156858006 436114223 533539744 668885844 462794333 121255564 201043666 602569581 730553709 907963764 110070544 199478935 419801024 531537667 331864807 621389666 380590233 958941134 879509178 293403760 157762372 736833303 122261902 312299987 896808007 141653454 732302040 883711535 266579943 617959197 382909873 252346320 948897442 914684553 810439903 791296002 898052740 248223919 660212350 309908697 243330160 288399858 288722409 951226297 375362952 364474743 797860494 707155174 918954169 640063368 329013413 539350164 852485858 279644756 694018403 603811364 912982204 716972298 690512305 892308252 835062925 139050279 403578256 882555769 731357601 792919815 727267696 688307980 385765703 883994242 278408631 143259539 324482269 251414302 696991132 106379150 337457346 482508705 159683260 731171331 500434366 442136736 303434859 471272553 953678998 935846865 683869719 694974388 211916688 352000779 754228289 707160709 818581037 377531319 903545890 144884502 841375611 237890154 804109242 618936594 861700494 362633160 337150615 918782265 444393081 738000604 513815475 176652276 875743639 393658185 489824274 898407682 761241789 157940911 596151986 436919367 423059069 541878141 656214870 560526264 120130345 150243774 748577076 905097893 800505591 606231705 316260398 616085302 416238328 918265718 303810939 553698387 365910096 874536162 676132948 130056628 577470563 482863654 241956433 757509157 337229131 235126140 179727195 965867907 531309041 461423330 774823345 502105032 107798928 670576385 707577743 395798314 568333593 274796779 795923509 547637801 194468200 411327649 769282828 523087138 551525122 697221313 479187363 174141993 736563889 694014596 894674052 701976650 375408577 953608675 329307995 848990955 656769825 318759579 609983613 189293160 928600059 490722702 191899340 494920689 852322544 156976545 539926526 217418773 548600397 360482691 226402038 808540745 470897700 154214818 322021361 261892664 750540172 684173334 244863484 516866331 844641255 219677141 187541128 397424068 668662442 221803341 747720946 364553252 212812748 538877183 445440129 671264970 690801988 671579154 835575474 409054553 405946446 761213449 115162369 813713969 796030499 532698214 958432136 138090672 147277918 486005412 181907193 174088244 133231230 248264135 502350869 767192525 683932106 740000291 129021072 795699807 872660676 161833006 253849068 491053629 835995426 104631744 207295146 915695796 262601319 128275802 272878051 526768746 405205248 638887800 925684306 689602440 545195188 396665290 289845537 484135860 907373689 313330431 405974068 211861545 670873196 285923324 630917674 465575457 576637317 791086133 422641044 709512756 795039498 614275085 913716212 906451263 511707112 784968117 509392851 441806041 942545951 719115163 482764793 327978594 492007396 107422225 345047760 741056588 854062049 872578187 348931638 184565641 482149450 919349370 286488497 381560789 219801013 922008523 273506243 415647586 240483890 859938971 231359483 603046165 829134133 690136394 236021267 742549026 954661861 639084295 504608066 835860096 316441416 108202120 422095881 642699479 170725092 894395089 848928618 372455566 774713141 939111660 910002049 195761487 399640396 436586039 174660985 549799753 263503646 554858143 613608039 571225893 380052991 585938095 929664369 359345574 757660494 212472675 947104386 491801938 497841525 817198046 406490998 256280481 172015860 478788651 209133721 981082696 583333861 891453423 550611545 315615082 459893419 307349808 760359839 800243925 698821843 748910490 779373528 156371869 955219832 303175420 948083968 980033551 177057808 495136381 921321133 216138356 386163395 609457458 144033383 454234910 833741232 647991810 672083617 536159877 785819323 233773147 255764928 595900292 421136024 971247943 953774328 249041639 507739654 853403101 348338540 428466887 804993328 513222030 429672598 437077369 234419617 921988000 363967249 728821185 993737856 331203078 557345020 320878036 436283410 894783352 825378651 671316095 916132313 490532141 614225211 880588044 164254810 765230663 576612525 795958270 310414589 164608161 739129013 853116522 552404997 991987825 842206821 735442654 699556151 676179865 130857300 800161238 921827550 860046279 550065513 625870321 495333932 640121552 874328737 966913236 143804571 270724261 521414204 382967480 287689549 591069462 801467747 316835903 601384405 685557376 227016868 817444285 283446157 322843832 548228211 478851398 493340367 772988424 215015839 539635184 771337000 581514227 128174911 614637633 856761277 132345352 201304894 410059946 638312242 860421513 143436782 763280720 423725829 133772291 960947281 503323929 485306917 920685104 449801700 182819611 747124725 897727075 376569484 956368619 986563835 840663347 650324813 226379110 568066386 670484484 917022660 727503109 495228352 198823284 634990970 623580818 642930712 975943963 397758198 156255315 948271212 675679658 701322702 606175361 905915398 333508644 445333874 558339173 653352938 642505883 228806679 566016659 750681138 337703594 766022277 782551230 897012909 218026278 689325309 920321389 178700241 415844070 744713242 867955759 461479903 749014255 491003221 977394554 600148537 918656289 568278427 783548787 517504790 305200790 858036034 744813541 418312196 801125874 142051257 471260868 995483360 602432739 576961407 486071504 171759412 545146186 506810625 427871415 750318868 280406754 226311690 510688660 131454882 832017667 425946297 617622391 326420910 936653119 284652765 706015644 189172802 795712297 803652846 951032104 346854578 977375527 619076695 678892384 697488709 153665223 591986259 409099441 565011155 388667583 368735236 200062115 901590905 583213958 178673157 789363716 587788219 399558610 905423045 556833280 638351747 159320611 446436420 410172104 717691141 376985131 460185189 589789966 302199194 297492973 974493238 364036378 835862744 511498558 982410787 181813809 276813077 852286244 263948674 149174880 177660091 942922169 229449239 167252954 654263282 765556249 411699040 715189388 608313819 786614360 857218851 471365534 860550100 852497217 202224517 316638084 104367820 291753519 274088110 710342626 527615916 200562563 701750608 707134184 805695866 733388882 510924129 310586863 727657107 657002764 115041144 817798350 829376468 323076287 297684409 863224377 532413344 419931545 781669558 863164167 919705847 436910834 754145758 359915550 298469823 706852617 595615285 442425259 651043767 800641633 928617914 144716174 712577888 759218281 515316014 162822640 188095295 876513170 275935002 547980045 879378627 685301909 280374098 327725791 558306702 157824288 663127602 704391382 282879896 306235511 890902842 594417466 988218935 788962255 977846198 335956118 387071859 719738520 836494823 370635057 375511240 886446504 461886859 951541782 581641523 551171788 664070699 369240161 206038482 291470221 975014117 432205076 563938186 231955886 297857265 877780434 676604127 507709256 499410221 337695702 377844100 737480550 481448095 381620489 478992006 221613803 566837935 100898332 498324601 532509413 745955848 152460955 104042632 250466300 827509920 275969101 207502992 962963124 948497650 510654134 846864972 293234439 631306042 494485412 921232182 318024479 897088897 839430922 306794143 929907011 201227925 665850785 938007895 610266930 198077681 244054794 629635882 742107893 503227280 296897886 902834778 907932173 450304410 193529436 791090838 506767080 975075370 122318712 319916977 277904705 984611634 285969317 271931428 856645225 636163326 318110536 720025912 126491191 435038418 873889632 339570286 606686339 364851382 326242230 331487505 605182624 532503324 172517919 526727796 468067545 414645370 929213237 781176699 332606826 871488337 801656176 567159556 328607889 347921603 337301760 912489623 726194240 764488815 115893040 690563351 212120804 344959734 599688114 329959100 273774256 553913677 628029987 656962610 733455188 602737449 889008384 404402255 621204080 107324751 408583261 701808042 120667427 711737363 999984128 722752948 352490478 429644836 779045431 262810130 925331201 785739408 842338666 499269354 660038790 269420808 959913957 719310962 241175057 549571223 233012431 980462426 562838594 584646490 668484261 503330518 945641505 117904154 614607374 820478634 180303036 120972137 224560719 688569371 489141428 117639943 378261819 456905069 920684512 361768974 759155093 625886714 802306747 881261389 326117948 176971684 406522198 675433903 594374055 467867691 550797951 585080324 467562035 978883151 752329140 121858863 375659531 486022633 802909273 646360452 832969435 487709468 707967401 260747929 836084180 344842905 982067997 802715999 343925090 543987027 368636364 660415457 461666257 761070123 271149556 282891676 477264343 732722840 299712970 461715184 155436680 960818912 253048518 327770058 886232394 798118007 270524191 913353490 548365462 489807274 406700176 613728046 710303633 221641633 351426297 688479843 870804186 657360114 417113329 441573358 429370941 446809629 233723834 733731841 336381837 260998564 620178104 386220046 896302218 353579802 901334598 323165309 196201988 908390240 252255226 567801920 648663350 303978514 265163633 547899892 148606239 104275258 635602444 368708792 875545417 818532169 733006539 136463726 490314598 357602946 908371394 872613604 855643375 741872251 837490422 588773086 405753036 153985560 528462490 336302222 700782464 376913282 165824207 527671825 660696943 409966797 970352222 539307399 140676891 748682298 629745892 523391536 847295752 506871568 740106652 473832425 393398614 872515872 607893119 768778730 744850215 145970407 842112048 133340588 441272823 365993108 990721113 770256240 728559393 152239645 162271862 853676727 456650523 460769160 437740699 401497545 488285999 939213403 411571182 781476023 394020452 829240386 178170300 369134700 927962123 266237675 543749184 389699934 876034254 500712526 297327418 419393196 123552947 111835678 824585640 967581311 466223496 984901642 362715363 582557271 719173066 842122150 820521409 545131212 247318580 974962028 711441287 729193220 830300453 197194683 103324583 245384697 863246417 786707471 331121786 457820058 981686920 234582396 930557137 301785971 122383503 118885644 338258495 969780518 854491246 883325130 157044886 210772116 503241323 387917676 643823035 317297267 455807031 216542544 544738511 910791032 563946202 719108679 647417915 574663769 745109941 477713840 638765863 224440598 761002438 790181643 646898760 492510542 358481746 893286731 340432829 779868096 238798840 291785291 540125454 184370003 101844681 200080204 369554412 946825053 879523115 856992696 727060980 541967039 924216674 409407530 132035290 337786593 407463296 402830518 144793732 155091680 225642935 229771935 578514080 833768783 889167673 640361122 900486899 289142899 109522677 652962455 492177078 761391529 431051762 669648229 530301743 510571761 154655391 113812419 527034611 223260923 741714074 987278787 301670951 295737675 305789710 298923199 233008501 697625915 862926903 470820607 596441276 406194563 837474429 293813475 678941682 979714190 908645831 991051148 853069313 463964445 792783584 896401935 809895682 436510832 119135519 124545678 546932216 841768789 947274844 406808517 428191617 682463209 738533510 383711135 712227679 606380043 668121564 300956731 746859426 114349036 215539210 104756300 335866515 158903049 937805534 925403931 125996777 557081888 735998675 946961771 643920265 389247065 352877212 241406904 171635127 665580564 318094346 684228439 410267205 833265714 267143054 963392273 658058111 818696808 298592295 557615985 451093704 941507196 483750423 610322030 715086786 847528677 582364992 685496613 934966383 832060092 621715229 556710918 375135709 465557486 577184391 112755967 567325731 138084607 403803159 165885638 191974601 644792349 169027387 842862214 411292596 777624489 884098208 576086048 245835892 165547474 726914142 800308293 225215193 969685183 584301095 142611775 682857584 919714090 369813851 686930284 299760008 124645884 835658362 904257869 503796260 339898140 850557188 116360375 565580184 492057996 746772422 354857373 822989630 808118520 617262897 743719921 916812966 624919608 660533562 570852999 529879781 388618417 180474862 722438533 566429418 781030316 830372885 823531954 759749234 135486404 695641643 783118130 205752901 332914464 635406825 138569269 770258505 848877153 493064436 639085131 961339008 330600766 280119776 735166002 912406787 247305409 497618902 111250405 137878760 392199699 570569591 382712973 811610560 830707217 106986174 637206874 696780664 297167168 815284295 978405974 852027224 880984421 758875819 722736501 374640405 725142829 137531034 960902357 152599283 142573963 180214413 726491506 363058384 753036064 891515888 538031512 715835299 332368434 313303632 258906868 206951378 301119057 513763693 208525949 447663261 166895777 731226606 538114923 536727373 994580356 777223428 499798968 286256923 658883800 116450407 550214695 528699654 406062763 891236683 336460835 988148450 125706309 846922680 547604930 967079395 896559054 215174914 220943749 923899784 694732406 598767154 804216090 550636819 685121042 733456619 348382548 454952922 976891639 816710656 888415171 464421765 228844933 364632377 755251391 471750070 747212302 231797974 984385402 839951799 225735851 207814013 195940714 384525281 374275070 643157672 363143272 904953601 528105092 370186728 249995291 513630458 138110093 809393454 712661542 322659454 371260924 363432942 397268730 756702774 866368866 459053258 113135133 938189384 193656034 985542814 710712003 974154262 997099163 652687152 243928587 702406609 197066908 527791271 664437554 352160663 984558610 172262888 859117429 515258822 269266201 969675621 545458852 348054643 224297559 998347131 946025353 652535200 476121312 636650961 387559375 627045424 976916009 848742003 433893239 633677030 836994701 441561561 795632113 271386829 350126100 222207958 163628582 976541389 482968769 114706124 540206440 814130943 628816737 740744052 615885331 724673788 515700476 504077498 281873306 661712875 691839940 445800918 991200726 324288558 522137721 709671997 415185711 725783079 272874263 817206381 845852272 576469789 148729753 205922544 853562965 301611903 962442799 263920231 528680832 692567554 911974354 296746169 923120340 842986584 810143477 592761144 623899890 560504476 188414651 313867072 334446822 301337799 240247401 364776069 536075130 439120852 546333935 608719596 518981865 625612405 486963281 298110099 757540535 620326356 692330642 998936586 915314538 108659969 472517055 594041502 493326663 102696775 274641156 479071794 855823428 788339173 519373590 756784218 395779188 708075115 148490208 500376284 443088196 583829055 648688347 174283849 726959576 995230328 831718269 726567600 709507324 133266517 271818312 366386766 522438863 265800999 520808834 668321545 136832497 115240539 196533920 905492360 361656966 899855086 955885453 231953621 549534423 413762134 843715752 529686284 344447781 443834256 280939876 359739721 321580181 465648523 933839269 998132360 645674373 479573580 617221489 660013830 844563333 110127754 671228453 158821649 389692921 494287583 304877859 660445142 942886976 771493060 131823687 457476319 908148334 989353620 543408422 308576976 725926143 644536005 121004043 326153641 838644538 686887340 840455708 649144896 742190538 177111568 641036734 836865474 411169711 671746133 803857473 625042264 926993372 670960631 460405811 922049706 512814867 475849870 553578005 373113856 344746620 631652897 497627475 407296740 147675082 875028785 701439731 823840142 680912318 651368053 879729944 162751332 601222206 626343823 900762866 393613270 411096307 195711924 511843248 549193345 127141399 916716088 191071859 757066903 320910127 479289008 533901268 305596115 460061924 913680371 532343507 569455110 365737402 854131890 220251117 755745381 443979123 346460022 555579495 524863596 148658839 457526479 870408466 934076408 650283360 551893186 875132090 854251387 121596053 184996758 245352391 583220780 316602220 469415276 952634396 739290717 625435486 116659036 477693921 563754210 346821685 756613947 703031850 101612980 698352605 320446861 950668047 714497676 308398342 620120374 737448675 679127454 431244668 706636187 451353420 457287942 767633116 422239459 252636204 869911448 642354065 794679115 802186203 545057808 150093064 430243093 952407858 829637585 816916772 906732670 571379239 306740317 290558832 957482232 498553313 243281320 792681307 153951099 777114926 786103515 572658611 418053350 151301568 532537605 650229988 227173632 736344241 203692156 608194301 987890002 521317618 154059314 651584834 217365620 734401505 747900701 197353260 423406707 885460334 665150251 374617850 137632217 478111151 536697584 441997879 176387547 840813211 386611907 922004406 207319434 280678006 551862754 153476276 636941554 393916925 834416132 370558169 145207570 702433434 163053870 592421155 450350332 470695763 855462852 345876982 409902833 957290182 141483941 705509398 664998835 203450665 859829081 977945760 348427214 980539266 302403627 837791701 782073500 812264951 601911955 518895156 361121458 755299151 610728593 609525812 548116949 852931216 835102882 211036531 196987424 548504553 219372934 772698310 126377139 888291154 478322109 266967347 923461502 460357232 616593093 922827599 744369808 816582130 579936829 189125625 577091400 610286393 109939266 817709220 480335014 579234386 910114961 430400378 644257360 358678884 557145113 528451334 946848043 832965014 197327661 547658577 878115553 189184078 145364496 782416338 748959311 262060769 778258688 526111927 418226190 291087823 567090705 827301485 303894779 844600318 174411333 992689815 826409874 489267872 103108103 382785530 476329819 879019895 400592521 189719359 141870336 926900310 425332756 501310060 336426305 590809248 993883870 769828023 122009726 882277917 348066625 474353183 489407910 175719552 196341492 259154861 967113435 227143566 975778255 677147382 855225354 476107461 597088682 432786415 450717838 875469779 179864191 710131904 202916419 103259828 290527907 652079950 622716493 341156517 317525009 985523351 307022865 554894851 896492170 807741513 611091917 813820432 323785133 455477306 652478772 640368470 674857530 494237530 247675508 902491593 276870932 291343394 544684904 144374452 393678254 489898196 943141144 141498069 435501806 565342645 238020603 721508746 372098410 270624450 863377941 659850308 933183191 995244020 210713085 596156871 848238520 538213505 871928288 236025247 296290810 528460462 419042208 440869329 206884677 143021709 549227267 887189067 434449198 179168051 917990550 366873739 303029331 556134567 618028565 979646218 602766761 592967275 552001186 339369254 384668846 448209555 838026051 227584124 597959370 294952518 437301396 969258970 433132736 202342966 158123090 271639386 969486052 679884420 517521961 184571818 886088888 279190323 610116354 555874271 755332716 961826771 619352912 885036660 715910742 432053947 731941399 649422387 733029654 569905293 108294371 777876930 695722967 732696845 205027904 470029966 191331762 107200566 978931057 448533345 867097970 433846774 104748098 787948766 259366826 916371634 437094884 293808429 202516549 788960040 465183775 521807856 782280627 712881653 688018364 212327226 296336236 371410060 404069225 826808377 210407910 601736791 911228385 323944427 848996484 805883048 516114155 453695293 827196782 232573434 246520060 542839132 497376119 909677187 644187269 698100470 849443825 986917854 563174707 820495597 486156429 450407745 444629166 411122860 692870433 165506050 559646975 445704566 989191328 450809916 687995482 761502816 296884351 593593026 908946032 834084221 896184461 969550843 166930785 731568927 167132548 354401718 155327454 955939631 198998905 274048763 904380653 834659361 438528784 408131653 738561118 337525557 517004430 502911416 833914466 306205146 916005078 222269216 265986112 264472689 947040268 404744091 564195159 636218090 265833834 587098109 990443351 385301603 584609773 880519222 162015660 931980137 973449710 896230775 947247677 960273320 811700442 481368104 862275704 321837162 986915942 805594811 207509043 878082144 721429798 820717653 682667170 572271362 398971557 371353225 199816863 879726401 909036529 193343343 936614529 851841595 714567879 708830544 388142764 243516405 226160314 519218481 126191683 896834147 169750178 899467596 575551151 799970428 412804156 207817670 482682262 231295917 719977050 708456694 299763085 938722075 177556568 228502656 656474815 938356018 181308650 133944264 382430536 595217593 506773228 997873465 680600687 287558389 613785171 150281105 970248435 375297394 643870059 322085565 787395990 556575656 636617310 254860972 792675901 622361433 402228881 568296254 314462705 240382015 558795815 233433992 385418453 853193479 944580545 582250662 844208834 336233058 877412551 406339341 369662480 123052103 845571285 757093077 820076681 126623522 632459791 811254240 770860636 331454178 353576708 772548077 365187749 280391124 590027281 685530477 407903238 136425490 796986510 216036019 477058991 355355711 269129343 836388914 361333082 373762329 258811562 872094471 230775605 469059329 831753654 298097868 944604182 156622263 461482663 228201138 961952322 312654533 496630900 422842125 838516628 256770754 440072270 436174144 581118589 687226976 667323247 541316312 202591110 661774735 895331018 653307708 710463217 393685633 299829810 422695024 463726044 289643741 270400857 697712284 729254452 382870086 632127341 201689605 681374571 945970034 136228098 715130170 688746831 682814167 755001537 313711426 855037061 311204055 363896810 497399700 223179921 818877235 450194869 958124643 715014191 991686533 758436188 956650118 445920304 663463820 997680011 362760751 415054230 343207970 283574641 180130588 496610007 565768113 528439246 334853231 435831265 951314950 300419928 999646906 118612096 879435242 611739027 889684333 748488480 280066390 403739972 970241033 203468592 609537504 704532370 160386641 860280526 466148257 705566608 662339703 885368575 689514709 858158635 389952127 884282827 314285808 194464537 524677888 112803477 528758418 122649220 362572215 409413932 338996987 609341226 701321676 929354127 861548006 946707350 791439797 724750176 394775103 552443080 856355468 530798270 743345580 320881867 505333129 648821199 253540475 139946704 721888364 439568497 483470987 601216709 215013226 689947518 888325691 420172674 493628983 391821701 220861200 748120667 646843789 192560306 391190027 781746988 625827524 878920863 871936857 455301104 151308715 637460505 918597701 468263516 856103315 464856907 844891999 532167742 619579512 987378704 398446122 422975183 763829404 186586705 849779179 730905734 668557052 597277933 663961279 134224435 235132300 818149058 695574652 495142859 520184460 104865907 649139946 163299654 549247410 498401668 927334304 381398312 250526269 115376752 443063689 391833380 501095602 146932445 850755699 909956668 293700074 551753333 774240504 634219959 449664212 422367848 356124899 312733512 711179496 867379965 178152377 341376823 632869334 902364670 472108033 242985045 940404259 152118285 175582858 184774906 843487974 148946653 573887745 351435454 548485884 257412940 256987562 133478559 191145807 858376752 735969769 695798196 755343934 803615916 174338111 293304656 710035785 595158128 781700958 526680187 294977996 214025479 637713505 514273767 657966810 444778708 267341741 259528996 148664725 957494386 953791891 927398537 433521837 550067183 317587670 491059580 523413541 329875493 821170414 757603450 233851145 611795888 466252002 608657274 675776103 848604964 584564066 974160267 613019014 810333879 315550673 298810800 126370270 326091704 986018527 968603891 348026662 747215113 478016949 247595506 514913978 552720690 410459988 540718524 930112266 817527439 584040911 507629072 271730254 764156075 761860232 543643917 214495069 693590195 588792785 777457395 594146259 899636356 741826994 259108757 636071558 755585414 210594926 659351474 501623701 534066951 318228543 854012544 720677884 685133926 565400445 275222084 335480128 118609763 247697460 795598294 524285284 121114937 641587938 908489780 865725879 698535397 578404280 380544880 953004881 279958702 565081056 180333371 349642248 317524669 558818402 722469579 657486823 924673883 946020269 853766867 293734544 488298693 830520718 123877466 312372262 496206694 104523500 171213477 822320834 406766050 274877137 530328817 246420442 964417790 908271858 420982929 118895175 103040452 606862542 489352955 252997157 522876865 687681461 798408398 456911656 534380594 331909587 152069340 176438347 997248680 802163050 657398707 312394628 406094691 282611386 221537510 637956846 921039991 215343649 829806930 263010068 962746104 579691024 795512681 946351033 200709526 902496930 394098609 597868349 190603179 405528418 282393015 536226848 147073198 839049578 537670501 405264550 310532949 630173151 861941505 327694980 446403105 958952216 119494020 315208382 271304456 556700905 526007823 743087908 542149961 355421197 796983006 934801815 923703900 559646059 332373288 989684673 308419877 529517330 476642621 224877439 382628251 101165850 814954029 369124179 244171075 387352514 488131715 986799819 305598161 228892341 231688704 975675990 892879342 987892405 517800561 666179633 734923446 183942077 709214878 290169511 419957913 399129899 563862881 659556695 692327053 436558416 857873170 168925497 155589454 880843368 682036983 434354487 592610521 384944835 404930175 714719561 426272344 432464201 630257004 506875891 521030387 739293137 396297083 153226716 709869600 929927027 503698103 484912109 575892753 893668982 774301264 807636123 906673381 194278781 640952896 915904307 568608022 152748241 522919777 884247724 528699469 794840468 328880137 370714625 301041989 889700527 460823042 485169761 528163691 568136417 199882375 220346269 387114840 345085443 489705599 433165168 993144944 841678082 946379052 795757057 960992740 739892828 904696665 768957111 276808105 856869840 430684770 676694043 226058511 109594428 953292485 373268778 501056056 229347825 936015764 936368724 413039982 512234854 582077634 311059133 644699063 320206854 453556412 142434510 965982481 926059400 814140131 801183568 688741786 610539057 350061677 696418347 517708995 529197398 675734567 952711013 798796588 521063133 472566983 370004608 393181033 574521013 372968820 748008382 770205515 907528666 186355172 546589779 605712894 590548191 300980134 801336181 889191553 196327045 991295358 666740288 431569783 665156559 325568465 368859173 348341990 738521388 474110251 795832113 270442327 768191462 306001438 243721716 585712960 778924084 499424297 144136078 481911749 137027755 774898320 593639704 972716072 885905082 439322439 704967308 780406253 802179984 339179433 840156008 924937391 314930738 192731968 906759513 225060854 136765176 704514308 634534183 419729557 241800330 680893422 367324329 773839284 678961108 796117832 812537327 744759849 244760470 405434487 816553142 179606339 309540753 823372202 734918462 486014765 686966900 423393145 686191789 598423657 872739743 925247077 757985376 730641386 314251258 422117446 568900793 663840893 135923069 590359449 796353994 509581115 446627702 157106906 895730145 266477949 975238525 909557576 630838752 735772477 469257285 243455265 847462674 790302785 506982562 858923110 683781265 346622525 389338201 831163196 136744656 689835192 776625356 568575110 333926747 896639900 645612029 702076941 160677955 957779710 647585144 149502760 994119332 728556168 759784562 294106314 657339023 990580244 922799303 952039956 441302040 642739718 154589709 946564071 861592591 447941134 193787530 863088146 496435527 388045737 335948878 638154174 947545275 923324263 604089850 416471457 435801371 637621513 669247169 806168375 481579145 695776154 696782811 280946003 477379534 764125573 930744887 539498151 116991760 457763988 877647736 298568496 557836790 316483841 722437870 324936099 167512692 164283010 176668687 187369091 219056454 950148473 583867430 435111967 881805316 343335533 313489348 443604794 653872135 656276067 832521322 188446637 497133449 871281330 796558119 879769515 567066118 213695013 548915819 184084740 955320856 464071894 407255527 131735746 582743704 494230459 855465912 271559737 648391536 875082150 626020644 979213669 293724147 761135868 312544575 377457267 786457512 641778487 855710480 719891572 497910457 975419930 516526225 380328886 288692608 984390042 814800690 859018702 304181458 803176746 134096234 773919790 926312091 772777978 354736351 804340425 745357943 860839717 349036073 103305905 791033297 882145476 703987502 188090410 116464191 679123456 872022029 380354382 118009181 223891720 176817484 894181946 310339424 177207729 824715366 295721429 993748578 851816991 278788829 413628622 238973580 227423970 512383593 584433380 849243884 967821487 693833628 367277388 456015033 862617295 880228984 705702597 443683876 847175696 942051275 481055101 729289199 545126857 806723134 803839593 345108114 270706813 137474345 908266909 366055193 274416223 850457106 597239880 437962078 629944779 956675706 288331089 342395030 958387763 985675950 782088387 650047676 930378052 498055732 654663295 930322323 304977120 599093176 524879699 434176618 421111935 224531648 569305885 625534624 948968922 983880207 313764067 122489630 662550610 268995464 689427074 354171315 200808839 598243271 720363810 894408448 381783920 186567247 830787599 857294191 862666095 102196698 492746526 475656308 805867207 430964782 905491304 697004791 466224939 899566743 909589014 702225470 256900612 827769473 241225518 877855499 342733991 459166228 612665492 930251321 415619307 670358767 979986829 563845086 336299448 405499009 210563719 952037705 964342994 721100488 198655038 430830709 398769622 805040019 560570257 866763221 128993902 709176085 916559636 704800183 923139085 184038781 167848051 419848893 881852257 210283240 701756406 395989680 579610137 831909747 235213711 113773699 966322140 413857235 656229220 952126295 834923544 914567360 271892999 585057872 526987463 683264399 420029519 421852333 687474966 751542809 255547432 800510352 884897589 392574858 658367335 634511802 697704817 845860993 414441664 784504425 325959403 444919022 315857677 235726815 664473734 391698804 858125796 591219309 585346947 827740119 828856922 308827016 705810705 188660676 687814214 817842241 355793642 396705826 598233890 593774904 340012986 704469487 586649934 123290439 643532910 420949573 205157471 879914377 432717407 865307933 398472647 165501849 443477429 856302178 995929118 837266991 773803434 993000442 644082043 950015719 474823786 337542317 935541016 913479222 107029884 862988123 690747628 428061747 829268163 260101775 638135672 597898717 570307755 782782734 145036169 172101525 370042811 798449741 605446471 567594081 956269632 924662554 828354851 906100118 141968683 855741805 942236378 226878792 686860132 493977398 348564553 707059406 587395787 572786072 968923192 880899456 968824390 454848672 258837011 742614217 898756627 604208278 228049224 769043030 119711509 144287403 483460653 307798150 536630717 609639519 970979921 766947585 808607152 391356516 424976224 400843002 418255219 201091475 416339857 657912984 295086628 547031465 580772724 166838444 798246646 494692119 105596041 209184098 702205893 563982617 716520137 943411770 895315886 718183781 557190821 662365483 802893193 289859700 275023517 608483173 136863276 719502525 576355082 597202138 406965416 438914166 849823274 935262659 909971435 930550621 139257388 265963626 675649613 186844212 737626216 784767727 120241837 445143909 387985158 369465353 535708151 505173086 570076366 350212785 578723881 562069869 100235839 827241763 503579715 638026524 608027619 662469862 203678316 415385217 392544844 321867605 436747185 404480413 483280216 509058046 338450880 162060704 666893967 193259105 366237100 688723233 982909917 839584066 446109264 177951557 840132669 782999696 228287493 192673707 697682831 486452411 980406611 928371052 773555606 587899494 903345520 921784258 556372861 915930442 942715357 994658092 263258054 339932192 319113946 572158060 501977459 562879061 888573792 942554133 814847886 855790032 550245230 593495849 581249487 315332345 655892726 448005682 778251048 115130844 754125432 382149307 995476329 783729891 391983407 399525082 545763854 459560425 954091658 797680834 781446860 205770455 991034127 143888886 274894988 733019249 430780304 767765495 852085482 406188269 880747075 523766276 547081852 513443531 305309089 236762178 887349168 198197930 659437347 927515288 931611427 557859813 998851635 870927931 248581736 997339419 783379761 295487692 583439264 762401930 797972492 224405053 826480251 725928249 646515438 144256923 577475820 448418935 306207612 161955451 181718329 129772634 313943498 209904985 208516353 453431836 359296829 788537555 271803264 444497765 532182568 144762454 972402514 450173980 574193385 533805767 901611219 933166493 734011947 747126761 347022684 524125580 131289256 580409541 834738038 867560232 812307293 634901951 602689625 792365131 408074854 858737439 524642320 260670156 716303654 473374887 498530587 220891138 929600807 453035582 316192395 124808003 494877382 279760494 769192842 871408791 756461079 244255732 101774579 278765789 847446537 199615728 374046821 430350175 391089161 404139746 502787506 395056376 898684541 992349223 577789284 411165743 755461541 357509103 336564551 617697782 983591329 226130539 898495679 878249696 123323005 174184658 897009283 132665676 634579972 519730785 410653912 285260476 156629535 453149088 187231109 573273700 647605973 771832720 481268731 646584913 611748047 486044475 316165383 658307421 665117297 277934482 916575582 491413683 696696277 626131135 706804291 854034436 118904328 304378754 541445472 280018008 632751698 959094677 577246820 368231756 914264430 133006075 488769799 872683185 618866603 822030290 918931970 738835609 745855501 442000799 345244485 360458363 982853136 533242195 700268067 109430932 821027531 593268064 422024140 383379691 358019891 564061695 409230722 834404295 431971246 411592232 665599010 252736646 276257434 536655150 165564587 320626719 126394328 176458423 643140027 226677686 442565572 187566205 913540177 633142109 285634484 797747907 248553481 948259783 706135089 511930710 600210095 739852651 713977593 435347608 571411082 419075958 116461437 847136425 213208098 524156753 483168756 235032150 711473058 139498112 605736473 545324059 921395652 391505883 765676457 997320559 762840104 867712693 211142089 536185704 164481338 583511309 346296818 387998059 670887415 426507269 444487900 651588908 925578601 715583993 401333615 915590636 801563643 698419142 608589057 573703395 798101972 639007959 351796407 807789573 862684149 523709154 702239831 441748291 343206268 715799905 259749050 404559136 998904132 527721904 971382599 767048972 928644047 455348898 546754339 199020551 348471364 623871189 234332806 304762751 938356352 303511748 193885891 481297706 166444608 969310508 564227374 888823382 324267449 151120266 551000736 733372599 513967913 750727272 484142945 905230007 599968781 834890974 574132622 909854706 856846158 974388200 730088770 844555413 825021583 864897057 345764430 644726092 662398239 258731601 614435284 923825287 434529181 643107105 285249758 773744097 481692369 483153799 465186044 432306177 289441111 403542756 237137446 745092751 668166652 551650462 465168072 441663769 304672600 808390957 162322793 261745150 321585883 244741532 151278587 290782986 259395786 882197256 984355206 225617030 868203016 432435076 966985316 359544407 186265755 197851453 978109660 565189977 729500583 465695688 311972546 722299797 443920576 228356947 261548508 609695565 651167060 653308919 293575938 222128803 885332542 390493569 157122905 542037509 874030494 335039880 942316472 263231713 243082166 666724512 823719757 857066974 649372493 903343934 593709617 472622935 348715982 714601801 349198387 661540239 657414957 951963922 749148506 499397146 991524566 985554636 441519399 757276958 345319315 638486299 357106528 121705688 781008317 297139745 360693738 897673226 798524554 491628304 465109423 678185493 910679703 486972843 880230943 639960441 465847802 113420670 726683591 647813396 473142221 831202099 908115080 583545977 892552098 962489874 591331918 595853336 200089164 186942544 429155171 872947039 266391328 226441397 264011794 309642889 105025649 566069127 783558187 582783753 182332865 610535908 986182458 162942670 596176602 142570789 768817240 107102471 457556473 104916546 730055987 787704952 262143419 319547974 146856937 844650179 449259154 794531712 365275621 147217902 805182396 500894267 888096648 619336086 856277268 945572521 747969020 166041762 675498497 219401620 589661379 578589019 118129710 855499295 945612232 540019249 706131952 266391057 582545678 705924545 501455839 296601493 966669546 273235624 811879501 319564158 412155959 457003349 692556682 382373095 395535789 690545820 248518547 325201598 405035837 584865342 177804454 471676640 630185243 708077772 404162597 426720737 388501578 844038555 955011357 610264299 329610997 973144189 784092049 395136392 830139256 368954663 303797128 265905349 481933018 184266785 871125665 517570234 114300093 680216013 515252640 683863031 534107301 893882361 198295396 246360549 342471141 854678716 715927912 809476618 408763609 637330641 716006551 514950383 794562196 771665153 995126865 301991549 658388504 470867220 452095892 301672913 742724267 299931966 267683176 957344870 490223242 729926562 358360655 967814967 796016655 765779278 341996323 225643879 355431420 750267128 537209388 526417739 588905054 451225840 150881900 280580716 694441692 530327717 962542676 122198508 727507258 874280680 545139483 634629926 221605628 851958749 901358126 253971176 437336991 574168289 390293166 311583354 285921553 427997437 138995674 673973403 236233336 534112227 218835457 181903988 439534226 369135944 340629833 361153334 229452009 642324103 846177698 438282555 982958352 644409894 710416112 207185002 205362481 218043875 106999029 178573058 136766264 449367067 959763807 535095891 321293331 355684761 935545110 550174017 428990139 634533425 850626707 610653767 941846980 739462721 868046113 163420175 944902611 643636812 896711698 716428816 335194682 279463504 782596532 375678886 518233805 336569866 373703449 670134576 531990301 231942028 452288629 115999563 192358685 121738355 988032936 919900148 776652066 376993627 885577319 445330177 765347636 668990944 631039413 216162533 692571980 314480346 118777196 806026376 392825264 787398246 135345781 668993594 981087067 745027293 476034216 879251326 771770037 959978876 470701556 968063087 836668385 786602044 768805787 283333802 120242485 681434384 386274346 398944769 896781591 865197203 189727241 134138644 104658254 998102714 227537606 591879639 352812456 211056736 137819888 873551696 350306660 617669586 867676107 591679959 809698344 303317273 491712643 700552608 556983678 781721891 836067942 889927154 843811512 989499715 277171648 633585607 151233055 457205317 449915994 336164768 678134072 619392013 533111908 233696347 360111978 233467409 740871996 329947745 673172505 942144007 688968479 978486166 921020138 848374347 867378037 161635767 589826517 114923152 454713520 759766002 751622612 358367797 657129352 663324968 871462696 909414572 129740008 803625179 468837582 700874023 481640959 423433850 348326158 674374388 779748335 464563412 861891543 826314699 308202557 240942341 206158522 315284174 518046545 669848097 493719159 104971309 154743805 305185661 506231551 907052966 441681347 578232964 486907868 516851601 412665573 332821876 503670086 459672380 910107593 222266082 566740881 562828816 193061002 766148923 431547034 901728251 927238404 562069642 111225036 159236455 458672088 193527781 351503931 927132364 866901346 690603321 171972166 220639218 759731164 549501397 612013742 111962895 895187301 584013408 139681924 432045466 218978668 241038759 268497852 543179714 449498880 979441511 570066958 887816622 144570627 561378756 337480531 143262398 743653998 236997406 853241810 944881450 197094815 825127904 311406946 985718252 195282973 989969858 186097691 125148606 333966971 402342628 529614829 466757721 577126767 758308919 269322152 903334442 306283431 553851388 884036990 469692854 860402279 505670408 466077274 909463486 895867827 552902840 143013863 654360810 710155612 891095101 644543807 294002911 276252086 767210178 887008110 635991247 287805196 197137840 487642815 393374426 975014066 456055174 172174389 337448742 391569250 564662047 973358101 175203687 832956351 589195486 320869183 711743507 313419504 215621308 700241334 484051217 416714958 195364983 888093805 406397950 198687541 888651184 880695041 784683200 833662588 202874717 693715786 496453831 143350162 313415917 954007380 641955104 441927670 134361031 477104883 722683867 767249093 715582415 250751055 137497847 127423330 593795734 352384082 836279597 678589502 287551023 528645178 508245221 999852847 378290192 953605275 174657226 648246066 446018367 783197528 927726349 549882974 654110322 802251844 503635017 217230768 434376896 796396560 285116069 795346621 540924786 716556907 300968236 836600908 513712780 251752374 933942006 544671186 108025515 277707739 171005801 383686374 709999822 204345953 618046443 974516173 284479327 217692082 339643219 898760158 117559538 467314489 543570461 467524933 734422841 605129966 167751452 832305592 304020680 995888505 732154538 956065958 245302229 753502761 724400947 558960854 904936419 931467028 371363407 922507250 521302530 559576777 935674942 607117572 380634733 245704254 277049180 506904480 322888845 308399908 120643924 656944844 152598026 811570475 107200026 345249341 143778951 696106266 318383439 718109403 344330298 537376184 237404604 433959670 903965547 863092838 200775238 148826096 100515413 462482127 203775107 533764390 556353143 143436674 792504667 347390314 397834832 349104796 187359806 150550537 614943513 490642189 251906871 638667945 275505083 571694669 953675175 641105478 181699085 606389284 182545066 577677293 289231948 510334009 417126624 585727562 960246986 224317558 912828163 294749604 402279975 122933187 604367883 948795892 597443599 746091920 239485369 675775534 746392638 375463370 546133805 388255575 949924669 862280748 776289088 847246539 733410457 971077578 922317756 164246986 322097801 819768461 145907244 381408237 679271465 594710776 254904168 698074733 133166948 425916232 389172285 550092450 525592461 637849015 145763727 296543325 628147438 598388443 938764675 535566288 292652214 557942238 623543723 753364464 488282419 216232911 290788086 677408760 730546604 921648399 934699371 175270572 627102947 846430775 888605320 807523123 620011675 827570404 791369004 699338328 791388390 743667093 186692373 569671772 802405008 848190198 508761249 320895659 778981312 920345036 824227754 919555849 727848552 439233063 230107854 817067387 678341625 368749242 599858094 154054826 348794870 388818763 671778219 499249687 188568432 145400124 799166877 331998673 719348221 537033767 828871818 124115582 367657341 753706563 407220371 131158210 256174653 484767924 130491555 828138902 129494544 394480930 585313671 793356588 769104104 894343006 475729918 145729702 882023123 457198505 687728597 866487152 438636683 201845799 394149651 468236257 426822696 677496886 440587667 774883904 126502308 794270197 314971933 153507435 973844708 805889641 765183363 150767308 368067993 308189299 167797216 595643142 936877183 645154202 883934883 855402256 785391851 333052955 604453809 633936890 712129440 352421554 496157886 985416521 462961913 797442482 126117082 655250926 853038545 805645616 953745101 335977322 598806556 374881055 502916719 502255085 184741645 699502519 303929145 803930721 439155862 614973259 880212843 994974387 931913777 454151865 320817772 492840808 265858408 807954894 625962041 652862062 797601452 497603689 129602877 821252677 963959592 120901000 942669810 702889213 968430513 719916551 311507399 201984778 896129594 553530587 256464699 531819215 483746506 998984988 344346421 275490334 186786803 316654487 663175226 658219582 143284958 854400174 964865249 198520495 909831898 689368913 777871733 179103924 223082285 631519685 601673336 889957685 143779253 576215718 469001448 502578703 490946851 247172488 631808240 872857480 293782014 679701385 364244857 234861522 218742151 200581208 443076064 924084473 126940025 719111777 378675982 301924173 631504704 611428821 803950265 983445038 966428698 279615836 219626403 523649686 668284206 237820974 421273929 822489331 357410921 930759349 112854189 602704973 426925659 170251858 275148924 938781022 132749663 826205139 985290309 110717296 907449170 917516464 884147496 606452236 979561220 541628834 398509679 109340985 945419007 392643923 542879608 834093454 501675966 675114302 833950559 220002461 738590163 383029391 706484519 125971179 584760927 236312731 850895339 708725847 907126053 338441326 353466044 416551391 891512197 840877627 476118051 869182060 391024996 206735661 626298802 418136055 457472744 657440876 829921201 761678676 633634625 981743001 237187931 859377958 743976829 219811993 465309634 265964112 168365993 202677338 485074100 589682655 563865632 594959238 772651508 648757458 852525869 782729221 246185088 880820726 345992384 749346192 505340146 380094371 527772323 910642443 468723345 946502397 605413890 635303952 530935811 864541930 723526277 970119639 783314316 325078434 842270544 699856652 316681275 702046628 475999281 842333388 872703247 890043573 587027719 415415563 614557223 196097534 710801720 949961783 638934966 283850656 536691359 697108205 159786910 942996567 513365993 433061700 199116106 574214497 321148160 354052265 578645880 578453682 302020239 765420034 115166492 740335778 115427334 277999542 582256336 272659578 516058744 524437340 155208571 193849711 323515605 205292236 730255218 284035483 126710518 762664740 926881169 313069316 259659900 185526654 846675000 587493548 190108425 142618381 931879070 627946592 969689391 811970404 648486254 427819500 248481441 512417681 531527219 956031676 239779085 185611441 990330261 490526429 413753364 185019348 153286434 788071482 138208255 732806524 585109597 685835812 284427966 150445037 895603317 725573403 904163665 909324796 885835030 121956961 907490237 783579567 970539459 639316794 227671219 311980126 530193045 612045206 338382412 830663098 115127017 973790468 944356934 289560547 253380403 600249677 841152260 706409082 308984390 833111814 459661030 939999498 281937996 620486368 331809973 274234049 749242476 466903413 756851235 921674919 709125140 268386708 729821651 311807200 488594476 393152426 276239812 916656372 336549028 417255772 448272316 847325291 531334196 207129120 723934906 274988772 511783133 405120521 784217743 549747866 300784039 722451679 958416768 423853537 381890841 305240027 205255335 985131046 394931505 428852523 484785786 896030824 481751808 325110193 225509476 795884164 745432603 173674173 573341391 539649318 177878190 191735093 431904676 113186121 430550072 642410190 775354912 938555757 716088263 944956404 226336095 160533455 614268123 926568793 289459199 169989636 292953693 366844536 393502592 480843509 861980022 753071636 151956747 821861732 159420886 303922021 587131610 191050478 950456190 803898558 497014105 247995613 138594032 403011323 205102999 122661836 941893720 641456020 904811436 396351274 268735292 680370815 514624400 271662153 675333348 886332196 378732718 618337380 769116290 840104810 984624392 194000620 332424858 916042652 813579445 746004517 656953647 320701304 940019131 176007229 411199866 569313574 190511170 507420338 209431595 290788120 830374535 788333206 851159880 396266445 500131718 969828344 220322904 654686981 189581407 249684143 974360552 703417895 433775522 455744853 825240984 193484664 887184992 109434968 605581458 588492207 161323112 778812447 848077178 666300425 853091108 485765380 414552103 701472472 521516586 836177879 342761863 653876841 860688501 681125318 848383603 504191247 221482433 778168613 185335940 972726076 980011237 540484965 990564669 365523716 998042277 583926809 662221059 116877467 262064439 381589223 666577817 895129345 880380724 791692930 108051148 973478697 508278090 774815790 269768856 955926124 929169634 605785739 707609648 134948056 724117269 583504329 148437514 331887551 938725678 543243244 579502285 239935039 462243749 228360781 605273747 703412715 378259408 333407973 963996526 597507527 573884385 264141459 936157151 169098599 369084568 948868689 239447482 833157563 612083150 666977521 136613526 651248663 464729157 835199154 908913304 788435976 344729252 547133065 594781981 733131644 507376918 850956320 855722742 731835612 189084656 316901381 995256945 312996681 463069908 422231520 671936449 195357128 328690696 908483545 238862429 407788025 139790564 665756910 858968435 600512862 741421221 276404824 664540451 953205117 720745408 345003330 406964252 994759979 481109978 738657382 607226767 896575164 508715505 587227697 349869315 489337673 514909997 284612126 730556015 866358931 910431732 298519237 219461401 453947484 759782508 677422620 535363247 263336968 270690933 965167726 603821658 947661550 945087291 181396430 433178471 534634114 661210022 101987206 654043018 280556981 986790411 421422242 873238098 249462376 985032053 981860617 232262103 617281460 173939752 102649938 798358955 235694554 612804171 642196186 757578597 497421133 664291766 394435463 864274248 260837452 640026119 847650137 153041011 466622606 444229295 884561141 252355823 988331869 646144050 846969598 667738647 220083035 529363429 742345468 433306964 850054000 464990227 186787070 293424476 847176970 362216654 969865514 403586009 992311561 108606720 606824634 344559362 332460033 703761005 971741861 367547924 803213842 773214152 347341096 966058731 353025743 371799801 769250798 268557304 976520071 717933449 213061709 445552546 348511617 737016575 579131096 180841704 720060833 210518939 836236093 677662702 659806655 905841808 858457372 504829589 618981181 952366108 316645410 834244467 106209351 984061054 475006499 689653699 666162040 827838547 224819953 774933049 410274868 321122414 607298452 580396686 158002273 785206558 601487322 295479060 830384470 228063354 983328645 842808373 777678651 298781110 200164991 860756556 328937061 798385357 655571308 669474341 875988245 318487420 459564648 567300981 664004251 333936605 756095648 123450949 481274303 331914808 839957020 680657844 638262059 332217229 417829011 998155488 496167553 892492065 414594027 609998242 948849409 883842086 251606953 764497760 581289806 122524301 309126612 720669265 288112832 368296385 653998910 700397379 367361383 640002331 975332278 864532881 766583116 755830747 153080068 770685818 210498205 562643064 889336157 965969994 389060686 793870308 783959760 954671570 789278246 212637380 734427922 585388451 496996513 917028965 947480050 648002735 581902731 562333462 236793759 214888719 996876863 807073887 140972744 600050702 473551174 986727787 780249550 562329220 580011440 343212295 212477385 695175135 525376430 449373548 570240484 360637037 783180609 127581442 649494993 390767687 224216880 445182955 857269383 258489311 748866464 433645781 610941302 526470959 348624057 154130282 763608231 760476603 668405706 177764057 224542730 700193283 752961364 212178288 871648216 417242713 734359282 509645478 820276976 307363699 143477637 164425500 304878203 345679016 693977646 635853227 631042720 180511974 717188732 116091551 422562273 925288079 347333407 601023578 627107689 889385458 757152807 369867345 240654302 933441791 941111832 858955633 878279506 479476551 507200949 536729861 850319856 923585260 910116972 736008746 485822030 166732235 815046646 786894049 670242405 752504695 261531095 203138307 249588862 307029974 386873356 122242667 562619901 596610876 662293367 900094348 580045253 561500640 513251663 951699871 180472155 584467341 464492838 171928112 752004290 722646499 350041466 693806100 462125377 265678590 710069332 549165304 306538876 648878855 556303947 959720049 155664500 214329126 324725265 845231522 241034559 852364611 889745032 621922115 812149631 801261533 432427002 607726591 999281691 503685564 906461090 162134216 586805468 658442158 984629285 947909276 994083222 100899355 723821883 864571784 439828947 749821688 488727569 621886699 200289392 234031444 742707991 493830692 326046256 131560820 346018132 637481034 820344309 454359938 856693286 175009970 211040437 726964092 666404199 923404571 119113408 824810727 916471627 457635572 277988780 766418127 760679037 342026650 600562160 451286584 245520533 419058778 355221801 861923539 895154937 492233913 322428271 999265246 317440554 179466075 960385451 494225616 607468189 393927832 220001330 203177846 282699559 706305757 521297918 102921928 835422820 822093858 502609590 539575140 295831701 745810015 574432564 481834969 381397084 316865705 814154214 638419623 920881821 557094922 441928406 550246535 443064564 744076348 292673830 620212003 744335305 806620494 747958688 439189784 991311794 250571887 101450929 489496795 324675957 922930536 632110036 215247306 888031514 498396393 686924195 523032473 488862519 693514928 787131024 323368522 488940784 949010927 947385272 604781693 556362259 222265529 926950540 146285736 118765557 135812100 796340924 687338024 910227383 191816537 448601901 923736717 958514201 450746920 602795565 910467196 719758781 683411028 624077354 778252524 454213782 237268669 573273623 737772986 466594319 971221130 323376648 357712827 676461404 122741491 268484252 320887224 238754446 697897301 839201054 877681094 166807844 268443848 477085846 591352644 113460332 992410611 525225193 414188841 418932099 914391494 232485053 801609464 627814912 884436565 935596512 637813204 887375190 467039664 276078864 230712194 760429994 100658725 655863409 569286504 502570180 209784777 729489293 205702188 291701250 634216595 454943525 751490069 880031008 138359604 526871276 207289181 561230412 104650667 663482273 345910708 488531249 455620890 203016576 767107219 955117449 902501475 702930484 112912078 895591817 585937703 763719139 479677399 340895821 428272416 147429071 250194908 535049961 920372686 682406302 268639459 707647720 913311360 122249867 657061867 434477779 359665329 273329072 879187171 593394536 335719223 179471151 451843172 108773032 112839597 965335453 989296307 259622289 674803594 135177573 221788136 755257954 546130368 567340323 199059216 920283105 126747257 806163348 313750983 809135752 778411335 713550417 340870295 640409960 659988718 529325331 805917044 602705056 372774372 677036112 985145546 490229410 515409308 123856558 806682124 573186958 992302453 480518619 886499228 778950237 346268770 827276774 556431178 974154827 567907758 715472813 804250747 372486306 246332276 964030097 515836234 400319535 810421370 911933012 676985968 889078146 328447127 945965603 347719011 756500290 910931398 336352902 773955980 591234196 880511091 495805906 200679616 382435058 479199362 737874718 644546357 437564939 273811045 180997365 916939651 100791811 360475876 840085427 316196037 278284033 656699958 991741236 960634343 275597261 491713958 756030570 316577553 173486418 246506195 584570906 607498613 838728277 685916477 202552059 566210759 974971583 263280510 152116984 691986650 490288993 839752217 537141888 622659265 784847851 138378105 941627931 956123723 785950637 979532918 572421510 185019199 485887737 723084011 850913357 739091126 310088149 815549667 794892144 671902504 627455086 163497067 932640750 433822744 613719611 844531027 106689112 867252472 111996347 787415846 679367727 901034035 729224435 917228921 176696377 742432072 253850437 167064109 243403257 302595141 128502740 526828752 361495932 258994511 958124060 418668829 200078771 179593130 530970773 924144276 858968702 450305838 236277042 663847096 635919710 943706655 872068242 279438011 693758752 168353942 435734080 492581036 638999099 860120653 754020485 442903162 494286101 942462473 280718208 232811527 930269496 237567412 793039504 431702191 732324545 790322891 718289670 566224533 687552691 646892148 846445972 151561040 552488565 109789099 387697446 659959834 182044993 377017833 232971029 366719605 666243153 762699784 605924050 148234885 477492969 555466382 553458488 297565718 684332440 591770394 487503397 120238959 910650258 231142426 893772581 283591252 858677915 851774058 780656091 150147031 328351087 761761839 847033584 770540869 982461365 103086900 748935574 430990683 154222203 206885589 403282035 474339714 103519496 459009427 240716157 863405666 256761140 586139548 247424515 498900069 902985954 242150829 747332257 919960863 167320624 164477073 160634479 942286771 291840756 973484987 654062021 347201918 321495182 411190220 900885789 569897307 997550413 786317498 271167567 187808825 539310210 254569498 947654972 525314071 452326687 859535199 520824366 113717084 406863076 200251407 990022664 173408522 138132938 173690114 555151485 251776017 762572391 691959646 270751467 918491557 639600935 859951472 388342010 600957892 205595913 241670186 998798828 333543822 605109884 482463930 745968555 154035387 853955688 136300499 601477396 648812109 605040854 373613289 387120929 753064246 232855412 367878662 487634090 184875225 131926956 736327099 604584947 227965274 939602052 802535058 797544668 254227162 577533091 399761674 163546882 273110375 220349736 857325731 270482902 364008891 309652925 945079614 107517208 875573524 388355840 705313738 735254207 565736086 403383464 131062342 512592712 756563471 144202870 784684010 268702718 726872014 947664046 868205036 283494241 695884625 363254401 402937300 175952023 163059307 166769410 621646798 472427109 785717835 621789365 278799231 336984290 238577933 569801103 473299131 151431222 890378604 880065003 188175356 556650702 765911720 212390347 342930166 396105274 171763696 929053827 414193510 528537204 958909156 129122594 389560688 689894542 885339099 403657375 157958608 547222921 734565120 506370646 878324861 756948454 791930004 647709213 225830653 934642980 170415042 485976531 134456429 427632685 810923385 843385472 270629810 370946434 527316881 435764615 571454669 814577755 355361028 112367589 397275567 861113161 158330131 700810789 151721366 298144632 376788263 868003297 252725355 753987003 815269126 835173034 256808101 953545533 985273428 625128906 879974984 181886674 532507814 804646551 827942795 478211323 311344530 930830496 184702641 237057654 757971206 549933418 347893878 997719185 413995318 271654190 978494451 459683817 393215869 568393873 811966264 442665643 203353691 701659521 340853936 930038399 909180852 695050459 105961737 333567107 271105923 176806124 641291657 784958952 321166767 440141754 959354697 775234854 357203004 955104715 500783061 833750108 909029016 508886559 559863198 577925182 936281412 158670139 458228628 798183095 399093660 696809918 620130135 577895822 664767728 699369967 850818486 956622766 180862493 998635477 786823131 370938666 347285265 577924134 370859099 204363871 745467438 568009520 312937284 898569127 296937063 609479758 710420247 778431668 559308285 970545510 638520280 927407618 397927874 894578496 684521554 567137288 272797960 769232852 734175202 648113705 186364768 946699484 192642532 175106874 573819164 230188125 880379112 682258320 256219041 708347892 835819344 746599072 911983705 484815512 455102752 278272291 172594885 290977240 293968617 915496821 475956131 262820259 246728007 185582799 786834169 482781760 504473778 119390285 832878620 483040869 929303343 634949780 912450303 249088022 674359563 740134298 627462133 410185596 230474755 551443197 539544067 470152986 218243001 116228480 661624605 410082739 406147608 566655994 361686710 916061049 762773055 377758645 640962957 307223813 842178887 128775061 679914487 666098466 738994752 958720024 739074117 163036193 229352360 262887514 956806165 794152079 569169247 450147636 411799755 786153058 557449138 145764861 184417305 668974921 279102156 658114059 356645851 537130696 260870013 859346155 446031778 296525111 259665460 651109661 695105800 767175888 602787845 626698142 752647910 853868476 104724916 623170349 527861021 614774131 446930152 311097167 287518687 459504955 693914517 254424109 372740232 261198646 445235422 754867598 594019639 907477578 408222734 249301284 170191414 190823114 506684494 687125600 359092069 883103748 415943331 794112744 366363836 971168518 132455977 597786881 970274135 868337923 224465368 633755205 465299457 406760859 915259867 252685875 298817343 361439983 616150065 218100502 571743188 285193685 456099682 189328024 758284093 900828397 195667782 981584623 592709648 599740499 998218672 817590237 657097437 760010370 315390163 106170154 283316074 228495818 284085656 216831404 849671571 706267229 468504542 402604640 625221920 863317914 639482556 536263156 375323174 906565264 494635947 633415748 350150200 156619607 748009303 415089560 929881219 712806194 187071955 129432025 728428937 218671482 769192706 401248413 401258909 899716315 373762554 924229106 997698424 603295062 262689255 254484468 439661922 669015369 747572069 771154679 506400879 850709621 529328060 839186050 113909741 589710902 919356847 176671302 680525814 604032160 150689523 173255932 105738962 736773613 466669600 946822808 481293579 945730338 873266967 295308779 765369966 704407944 399302421 252967313 840063910 187537592 510797616 118922043 453894591 715185535 704564608 471419566 279715628 694345400 732565018 757987485 389907782 511437866 708999494 982620744 744839009 980121099 875105119 742066883 146044233 674424292 667684261 910734832 242477096 814580024 603331867 290751881 874582191 862344869 480764988 506443541 315175352 880928337 872787001 420963093 358462163 962890829 427281137 842526275 803041691 671940758 932370730 347725854 194036856 776770940 600195943 476992848 930793821 188218863 972517459 375342603 272484921 799656347 336705832 500606063 451503965 930622095 324945143 239249370 164159368 263327779 396401370 872032211 455010552 993366742 514036616 442096261 875691624 887344907 640875016 122532401 645909148 970631864 166131930 394937565 710676264 103745227 998082608 986559036 602323076 111561799 167649835 427606461 658911939 107572169 261555875 220865203 741976729 429049222 716201413 163558077 664794693 123657857 110051121 298194051 906744575 229053267 987910599 843414131 376066315 686596665 329174798 587469195 990020159 673901268 547152478 132926140 891981884 308942348 420598552 314295797 498950869 782438188 820399548 169644091 459849554 689520399 270965789 245092217 463062809 356401540 342256851 573924915 832648514 533003418 255786998 143661987 836154086 105672461 625921841 129333435 724279677 803280850 480217898 970700678 736154133 827654837 192793307 686519373 152779741 971146819 892060714 972337499 453581528 520788652 363309699 924517257 405364418 662691120 962370063 353719154 219462668 797220360 769209484 757623885 149037439 408452509 829324205 790025929 941965739 771827066 778724702 374381959 767227563 375182551 968412793 886042825 708093941 406567742 786890674 524067276 500214188 810646987 826620798 398924997 810889857 793638168 142324725 269127882 307543700 706098720 913650724 880845703 705716558 581970616 112634587 136448372 624482814 755275121 697479296 424667717 723582655 892095188 512037787 416011934 113811035 275162437 265569971 873111953 481285941 492604489 981906851 299544220 833602129 154792773 887337775 532545334 704776374 155275862 980251464 227215733 448752018 688176235 889974026 731459774 991439629 962918603 659629048 598411183 955760464 607080214 451972777 449416277 417187661 429584850 938396960 810380639 736125459 940065879 342091901 701039299 947607588 125817900 325670512 786317410 459332469 687504612 433956921 846633506 167041541 508965219 919416036 439201668 243119965 781047986 464874079 425498538 727011816 601097856 157303653 232827809 227670983 535801952 504516117 474373707 679670966 592209390 874296349 487656635 551164647 134708657 127981660 193339170 510278395 734820242 574418574 307659067 558622731 416732559 296354206 770630548 408770640 194042270 795217767 292315632 739971229 285845730 898373190 990631701 204375638 257733914 609591848 616273200 504115890 825506303 926341948 780073491 430968664 302898399 424269304 985668689 144518474 909402961 312453519 878819265 544043727 710467556 566831805 714229908 603144738 953058416 684708691 829368618 764264394 955789858 864136836 325740940 666283351 713609064 836355262 594355762 718534773 943980384 626583424 326708465 805530087 627044903 219607427 283343900 148127888 541566652 185324627 283878609 805158631 513543939 196078707 728891922 494669580 487106772 941660488 498766955 359634206 915138312 916826812 548205224 289046499 204994603 664368770 380900529 654928984 285410607 896473360 817372692 465958499 681698555 864770923 445361494 902989872 917866600 495706215 242527022 645529299 779647186 930201808 544817395 985989211 309043877 870991397 276386826 284492812 406920855 303695461 524343001 462455616 592004150 402702343 752872875 316237349 449837691 342307568 993404476 282076514 734589794 112468091 817881289 173506336 663707782 408158970 558410562 919329054 570190052 340813401 447779473 751575917 934126503 686294306 658849726 229670116 614464409 904056448 434910133 141385939 827165181 833983387 338605529 375195618 471014703 686212573 519181455 579375707 375233265 566405915 434473396 394705085 979336829 928184366 288233717 322821759 902121995 845740482 979444676 932586138 383750371 215154038 589438444 154412889 583049880 264648055 248102955 760189624 967674710 996495664 807242348 838433265 695403828 290677357 380802265 380326884 364856042 976973494 673693594 738945574 963451247 336836670 205164145 921217658 537369578 149676997 564216466 651338770 221174015 357988119 603851950 509594888 294682282 449570052 259912358 269653971 237786045 701178622 127055964 322682845 161120845 810493180 810179051 923621906 457472192 525908882 900227096 305500486 384482237 871079421 658874572 693131599 217647038 498250019 937082662 545874426 881041723 252424231 691046069 813107137 744710668 322248549 405667516 125355367 407441037 721903417 350064470 970276927 439926180 921447041 862276834 645911112 341614294 628849156 330501352 378922523 793554669 709424361 997748340 802318613 400995339 427149495 178335835 311756341 206921649 579703271 790916141 746947113 912861041 573290754 615927928 345296237 476574004 306644290 607132085 145471684 261423058 171415711 693643386 128360743 258362739 358193331 814083432 872741252 118159554 503617358 604172834 488762122 720388326 461380920 407823146 485070046 102662241 103367981 854297167 887746236 515463842 671318695 136189317 502074868 429936741 103845649 707178253 666250111 486993340 569609543 332102210 156791010 693155165 772416782 912513848 530985980 665231894 299811657 324897942 442029570 317928185 641371279 786205580 163803757 714520656 721726157 148189831 141699974 978926341 330399428 870452517 452041089 603434609 515410759 993611121 972261319 174683612 833855057 684766369 466805443 487484881 903016056 786023670 143982886 407598522 871192808 230541600 340999744 348916199 331944310 460558050 831544233 922703280 263109707 956223208 179572486 670698767 724081367 873964208 862031173 335161874 974418228 968590776 259185943 303781386 367596950 349710516 199820087 760864411 329474563 787108716 725346101 447888903 154217470 878419239 188779441 356162226 323957119 882670001 438905305 375615147 752584648 686228373 343679393 689275144 673598991 839901179 814983798 936395112 161989941 526506202 868138408 227461569 658072674 456958881 263081965 772330881 875958236 277849769 183032652 959971865 393042549 170212348 585225555 598810608 159836007 355943681 144653332 130138940 839636696 696707273 589386023 713238979 502125758 699647077 996426480 447104000 300322043 859474810 638264794 259726992 354314571 256970530 427820892 425063034 673536839 539833356 639808123 969854555 719264524 798603555 243171377 539337333 799010064 787665701 340351390 457896995 872113289 144974920 103484026 181357835 418549208 166348430 490605345 650716714 430691838 620134583 323083369 737267103 948925046 694338178 956274270 365823353 576982912 162353379 705933256 610633685 969725567 361561272 816453677 373756517 443495785 808936279 713806612 474779419 535504686 590131484 386995295 132726606 363603829 687423549 475617852 193488538 725834675 308902053 983370093 138889447 731695053 675720081 938788373 276095049 334002388 961720961 256332074 650864392 209357022 271813272 217770265 253965112 891335615 311694476 345890962 280718734 554324234 652619178 854748112 191090308 143391758 503059265 918716758 895135296 825984642 721307478 684551834 332962382 192902685 158891937 407741359 852934059 297621588 531408331 672803346 650304411 879488354 190583595 584532888 481378322 991591463 516466810 183474278 112607401 533109883 605462070 804962741 997055530 798203598 667260280 444106658 430493076 820231600 506773757 961872369 863149415 706945827 485162636 811216399 171429169 916853323 596690690 219985021 160321413 414330415 676932920 424533358 927829780 886671872 447561064 417045600 480072308 741909549 563758435 869453189 916831486 121894743 750921165 365424823 989784520 680086898 287295440 883273130 947384754 326766800 688574965 510074951 219126060 910202734 161010972 611966018 764219650 917356249 396754934 974795071 709229335 376605111 216340780 389674036 993766458 396604722 675180202 165591477 164287827 608579341 429518690 615623489 434208773 232920788 463555249 910684873 592151304 428968703 790192576 632794597 812094648 431589999 998865492 788796057 632773653 553243622 821787343 959785436 270047766 618595809 476461805 851483818 108943913 767703891 914281222 708820836 947207442 801509308 975640455 714994484 472165332 192195176 111131426 958598734 523551522 814499512 701227847 509499542 532191880 953209558 914989722 431725289 897418736 483505287 840004170 250666484 213418083 237871802 788302574 595929874 357391191 305800725 318731716 848648329 567397005 152779749 956874100 232774988 998027508 657586008 187713460 670545138 445667759 230981257 674455948 870200584 692558406 714020077 319491444 585418041 701027518 341756084 737969282 867529090 885930786 380633292 803881922 135772303 125612893 937522811 180500498 526662611 971111970 587407762 561952248 164617356 214306382 763912092 725540067 493661292 107534675 948372055 186447665 863730557 720690504 578128204 692376330 819805871 880371742 747536113 340667036 467970767 810520368 200437643 590370365 266436809 313877397 674969679 718512873 446098311 252296568 529723576 907371792 998057882 881853244 901192271 679961563 359543838 629374052 256297057 144671983 372889086 856537945 457591984 491089880 236828131 664341663 638626294 184051505 312031910 109464121 473910866 681611838 402446594 399174973 576870082 489494887 692441871 558286231 339112562 794096240 195309734 269315323 699710283 710523263 841585640 704987833 333792506 220442650 546742972 379321976 145983931 242323261 384336308 973278309 951544293 962412205 307171340 491041273 367181735 139945842 361526678 406179111 376747605 297186388 320862936 775421989 653314748 539420419 310016858 804167861 221596979 468881208 735523633 370973750 201980720 403216234 836194016 617441020 252452605 818611176 442341615 862490563 928081987 609846050 396944028 520801607 445339781 812634448 162213105 255233411 387197266 594728803 889566723 369617369 679245336 267034356 705622939 559197548 232046801 141149736 125848048 491667106 214448026 906758465 614500990 899191165 446436337 416313509 560029856 515797736 364082341 407691662 405463546 698102832 835453451 499809394 666747696 133851889 206998435 580619360 146998927 755419163 731704617 541513871 355032859 694555036 733916433 496310807 617746691 651593080 258859371 188640352 690710566 935215987 294520276 193147389 518242479 199697398 772377695 166787768 406777911 887382079 752759042 671010279 627414298 208092719 741373338 496905397 922241866 668637620 465950298 579401695 144957842 754033117 909640336 292315108 688614734 570176692 373020715 890495223 243628428 643483910 163065431 589046920 605048735 703258997 925176808 618592531 149137112 996932420 731891999 574575355 834349516 605971139 557815115 812514130 805992316 917637222 743834845 204976235 853772088 814489440 192695031 725263345 242068745 284230854 402586937 223308061 394316496 204895114 755743214 606518923 843747980 266151305 558116608 697155704 665142035 106760909 874743269 279334103 592618481 624252854 591766620 171418400 184253632 940104330 420302314 544541892 210236482 639262889 524017873 560182835 624512067 647179184 530188144 857721172 267739070 288693714 771759293 354314082 909273796 547592755 809665898 530233105 513323531 404217553 910698235 311566503 521767062 527779241 146104968 524472944 171252933 541847790 827390931 202171590 852794053 259588865 797411294 800605624 890791961 562586313 591435824 856015376 991254367 193282413 655647913 672908616 651660225 844268931 289248507 934672309 264925728 658938427 468606260 590029112 515575557 511765281 767714269 649039395 659636220 840922826 422702170 425895864 259067871 997213614 247455685 339502722 865872298 141907733 993111518 504133636 793881737 125977531 974978054 926615109 933939013 481119741 561165629 711366427 828908920 856206252 930636416 885593667 106121274 914022478 183543389 768332883 773401556 184938800 325731744 890322133 940612148 112454260 801957331 356462586 194175703 205840002 690232542 346040869 914506964 703960775 210975744 828547532 439098529 891928616 338963484 611320295 874166004 742349188 600064989 575123590 420962568 533574049 350430768 660043576 407346260 865564284 652669327 914875809 271241167 598266324 452206743 212611206 807583732 482589873 644024909 907226322 719468244 881039616 800601382 165016463 365691306 947531765 114567304 777273051 364021478 361455917 688178116 455840672 855876726 359077350 896129209 714761817 655073024 820304302 300292170 347489314 205026568 445344863 596260459 531823088 764504068 863643085 556031917 258264591 844680014 960395189 689294756 933046776 659562812 148383147 494132728 504541143 323525028 455827966 154751638 234477923 967882159 897041234 674966289 291874083 247565779 461145280 227943890 639086087 414260000 656658265 465687490 991520201 887765831 546065307 911543011 724651230 840824009 117429530 640959564 452514084 724162386 387057127 434683152 994248033 408415023 218168371 366312161 574367937 532661465 722646530 695204006 758700944 282547368 678919739 644601927 754581626 125716913 135633013 925403687 424697654 745893154 316883551 639548655 520207388 302282529 122707330 418094422 226435005 789951282 599637334 493624957 319850112 668639356 918336364 303464134 486307708 985685169 730877174 925977605 462760722 996800021 601618816 522622060 736998517 769688207 812950453 865641979 664958799 847921665 349757882 586152791 163271226 522477158 845067371 205423003 126117414 858773260 783354057 626703904 548276063 587792617 497589947 954722572 727346503 965761634 596801887 794396136 325329315 320520852 743916998 658800463 467118634 669789750 800874064 799774777 258891786 587833224 915897869 350483520 800714227 136664689 583641226 388769112 281542802 829753553 219958002 269667841 238136216 787248972 611130298 568849959 193973356 931900404 492534673 474554970 833996068 597862962 566857289 355482957 954147266 668387928 870565265 161171797 940200379 376776809 638518983 107912129 871239414 690363221 608653190 136870011 648471984 412208168 771758150 311205613 779723984 277785470 384959599 890344073 551504990 811499420 772399652 325227212 782910529 816550250 150598443 104689267 861477102 312463894 749630349 523761227 391645056 897131341 836442514 703234579 117994123 652226442 203175530 975753549 721539565 138307667 864662978 646055040 438595630 560453289 759764716 372968187 997609915 453481122 435462180 229192186 509260739 972057182 946868844 764186276 434458032 324038884 984946920 889560701 833872445 777901891 375098299 847110260 229620575 601904697 156063461 101928462 945838410 692469236 704777192 269569650 982257033 488202029 215117161 314707725 669849311 472758713 929325042 474890382 764960376 384383297 582962332 365777165 761464804 882408954 824516850 452407947 897894068 497106689 851324080 452370148 849638540 494545659 576758848 157788584 536361026 555176419 458288166 926284560 784581819 737914425 918107271 568290807 411124717 422781455 790066788 507710023 471763022 577048578 194419070 270027632 850231403 106640378 313676843 102546074 175637110 565855137 738076920 122813086 539084899 876256221 341233296 709096730 308781901 547670732 358956971 245019780 594595619 577091176 211720281 641377029 587856695 494197333 824255988 181928393 196427296 197329249 224814591 107045944 801752477 483013069 541295225 972786842 307026736 408315599 306166472 130924072 888574307 166354696 484403012 136389626 985154522 849388874 181029738 861805721 248872975 831493744 666042987 881233774 365535063 721907551 879628228 524508993 881074417 274058946 789836626 614617082 808340363 335867829 569534440 787745885 123408227 847342316 979034906 255809880 960059254 619390260 622900352 645711190 474244141 374216265 319245677 152003810 263492907 822074179 844783386 782016004 474977130 238102696 117502252 457046030 194250325 718889456 219731018 880070938 148836595 559203920 966180107 930708164 133045609 713185051 485247085 589022685 199309055 260391192 326423541 274550693 167903106 424904162 988721152 870467772 169614342 622947939 577892262 255752759 410370991 497732117 265437701 456335920 742864252 281840631 855403006 843553541 791564761 117656406 961251114 413087281 470492705 458104003 396092360 511676060 587216988 975839314 862778793 808767408 572065607 387774199 480367733 438645858 812408463 145242806 544426006 195872245 623896057 390511072 507648931 905540106 939042104 741766636 797273502 400852701 488213495 804159750 701236291 159511114 516924352 208971532 292257148 399883459 688146677 638386026 426944473 426795460 859069960 824158451 927223123 818078421 242761892 158986485 528279249 598885046 172721627 616703893 918297607 666424286 974771872 610541972 303828901 287493461 736290687 769912033 691012942 643998132 170664287 950709857 163828365 852932473 884350320 995227961 851088677 594206428 357761543 672192220 381851697 640446984 928329256 466195601 708429203 892986981 600846112 120965504 511110050 931302017 895672014 383429326 238498246 672305645 611634318 241408579 544988983 796317398 136392158 579693038 698922735 643593007 557277802 223487708 120241101 619142015 710806635 258908890 571059545 135498396 109755648 896486273 164976370 732018337 627436399 818755870 772627901 254598754 904151544 322505055 971414151 497878480 591923942 261294201 555853217 663901883 318064826 396083105 480170119 992813983 674268614 909023836 692180664 290669351 189096478 322247601 528268206 611369605 586851608 135828495 349374119 844126186 481179008 773960659 397029071 895899071 968451526 949285934 208843950 873278173 116098268 747237213 107043453 919743943 159068394 867445451 504715202 334423508 712563718 698755613 967487751 661350406 171370838 710684339 733404864 449023397 156818277 937738120 709336480 296408989 740552417 964187395 110858428 350234690 898718550 825801471 339976142 383790767 734906058 212201720 587963863 981625560 925670957 856958973 680051006 371207168 650233580 418693559 248910374 473963147 493406839 570892168 980876450 980199450 542436557 595372186 837036513 362867957 201858922 731517659 628428095 751317003 679043515 300452908 229581161 645161756 531831034 888289277 913136246 722177612 951720709 440002033 356558439 899618049 119876983 940538031 368108647 919628430 234783330 530406064 469767181 637367955 941392075 870095278 879979602 141777303 290612151 521349207 582202854 707276542 594403840 720605650 130440292 567819691 519867222 215709756 265420412 667652290 171164477 204952878 130330985 980625840 720872632 727268293 825420706 704193687 935921327 311496159 224186241 282221151 504157484 766473544 822953577 532799511 563071967 431871229 940577685 351323556 361882964 851765820 235870069 245436584 661912140 941473734 768201189 811504364 326773183 582447132 914024205 185918279 644361768 995890611 110123027 531417341 345570158 887652271 342431864 186167997 620844736 742919926 468580394 865197930 793788509 361465304 984243300 522180172 287364452 464775548 650090389 756755536 677424827 823827253 578149400 967825585 799742490 942007880 973332189 730809528 248746705 701931374 192978083 171786636 279034562 710388664 238955992 754003288 858132723 372001723 638459873 300413484 831370700 605000972 192884489 399615618 944373738 578283100 696637081 598484989 855703879 569294983 936004041 618731435 142291099 373544018 474574556 362284270 685384690 491242829 762132114 766616094 489557270 618534271 559568539 196377445 634113923 593587361 793835678 177161925 419029486 166058684 742487918 976656090 296298133 805383694 236470392 847947410 461398639 798640666 732429604 232684990 435229765 533719195 483882243 728859851 510338126 280837651 645321801 385389841 213423373 674078737 436707925 555855196 767743430 737389716 937284331 352300696 483304448 648716004 233288519 188834310 835043245 596142002 355807889 384026587 631795865 536743514 772605836 972501855 847692704 790710799 509308741 932909127 988080754 624405884 712711698 585521846 387430682 549346202 700634385 359970865 328797347 583539798 940459708 546481507 785712431 480186234 668082635 139995355 161183632 171284702 131732245 994582785 635800535 622638647 837302000 601146485 819719183 524544956 387313813 569913009 301357643 446523289 270275153 142440867 756288471 970384501 627792404 435442166 194510694 624841911 643692202 406246286 121052723 680988165 814643245 651857039 491725961 746638124 221037725 907025073 893951229 666651588 888663816 348383273 688105394 841756607 815242903 174444149 757407045 929253472 553423695 861214813 151454634 763983888 486544758 878399910 592666546 117566689 723148384 389745541 962593997 729193937 636780856 252859057 686695458 931021930 713521273 862271142 726868087 814469290 560907807 150717933 414506632 570319075 286991063 582788870 839518694 516246004 657028296 576273924 408080564 684754338 735043055 192681659 203128253 680342602 792101893 775105214 294928496 959846936 476779891 444571341 214866829 679234922 465656891 188971707 282357079 264443554 191571206 412843038 637430143 247004489 927313679 414723324 300985466 978321008 961232729 306349899 114040964 826376013 574845261 362029708 498312283 486292081 410832809 886744184 652436648 958142302 772706218 638581074 278462425 782144524 764619456 838316761 512081736 131614863 990690788 523348867 760359666 125501465 884133658 495867545 154829445 465235109 360666212 244455948 410765242 624403240 483668668 167903402 466206040 643295332 793027192 129089793 547468100 546265690 659074440 267167643 477595579 601211204 920549276 284538043 349984348 225530586 209287158 116343298 140789835 532590169 659281090 537977363 755253809 567055584 237259518 416651342 385485657 584880427 709263074 535980628 111691044 179865135 659704284 402463553 544189947 422271620 597909434 676585466 746248265 886851350 403830493 886805011 659190701 591010628 559692920 466512899 248115789 457811292 936309190 778980251 737879656 742397286 256171676 977095090 460470977 114119605 932926627 939607758 299325020 450846741 609096101 513488508 771889882 980341000 623359919 453625449 396609319 757024200 107563903 603504452 468653494 424514009 638793560 232572468 855974078 706135663 422857558 430150259 372092126 542961371 951544854 451990131 928033422 506697120 403145447 680131883 569495047 461304726 592897578 175115007 307967289 813447242 166887548 258078466 988241854 722510222 950011603 163646851 876340847 985783427 544440589 756115904 849323411 305169976 147834346 988880347 524250736 983799034 834598053 335107273 760323667 707777655 758667986 543911346 975707627 947675932 901931200 687083701 329252483 952285768 812521907 606583220 888530982 428735243 142275147 867380669 863850889 816491157 259667669 733081781 593439796 227393920 800518346 861275381 261476258 532989286 396653554 689903851 530904996 346742154 564031499 135324511 658639427 943132879 306325642 152201469 804836171 135839150 969575167 845142263 869317091 436157511 462969887 504477066 600978912 770401902 528470666 532010039 114384229 401157567 666939318 386801778 187560650 343559454 374268552 993631267 201935068 617901907 941784626 967466984 708464873 769402314 543314140 555564220 470553316 651978283 435089538 446469698 505444493 845057588 647598837 266297677 656026427 594572887 332068266 721185679 807993803 366164146 180188240 942485050 600975027 111603198 278458798 475892027 740541900 161427447 995472173 836470972 696608609 854000966 116764030 918860287 236308140 673325421 845183285 434872855 350322061 749871180 782773673 128976344 940532777 825940640 361054130 517766888 400729996 329121283 600167966 757373224 766434043 812317414 371893910 906391750 891993678 906524492 173871946 481656089 739586986 957112385 708724974 127593969 154495570 169049801 920554283 224079620 916306463 343033532 190166254 211283394 143495368 973065289 566642164 721695441 953515803 351166484 785418704 153983863 674846552 197329592 939847802 975876589 941350863 593545552 501573980 908384158 537791478 754291468 422284137 581457338 383613827 611607913 253264986 439562592 210395325 408644131 552660902 717950379 252452059 765628916 140046144 567932903 186209120 470829615 662360775 191136381 274657266 311363806 159907854 181038775 912253854 102795042 311608232 155989683 379968280 509018880 494827313 599053399 942609440 675401134 354290470 484920800 826232874 500168693 773642117 491826004 906830177 100467831 958816590 539463883 618392651 488824605 792627677 154617816 133292435 335670476 223811386 834680295 632062443 431348802 321795883 365084039 725072206 371896803 932553111 434525523 514531799 296510558 485748348 696392329 865211723 749504924 532301622 357888904 979064771 455156562 853425503 324358905 627793763 220602463 572333459 895038735 443992189 329625974 322875020 940146776 861490500 614301311 714371465 591029791 451078938 813678971 945340445 328494268 577060517 926076168 628645784 296155216 111052744 810068924 795783784 892140473 191997007 488884088 133465171 946978508 817488599 786821197 114183689 881168635 387706875 263641485 973782264 741983107 903822360 302092983 459924490 631895066 493265163 967612068 457750514 372665436 794382543 592119931 718743257 559474870 676891323 286843063 234035991 213267486 936102278 642509845 633643366 908680511 181069571 426072527 194379014 281881287 429702812 989960758 662433380 674594697 872476751 472945090 159786371 980749791 631264543 488038277 347150648 367737503 334520492 947612609 148689813 715077272 586990421 339521357 877592850 479128817 727109534 516657417 615397903 739062186 727687424 885335904 769473271 226240284 327141978 213321452 334723253 798718211 204997670 390691818 448285884 323072593 236616954 121922904 696942047 202820120 209279507 708980741 172260604 295645985 532529259 447686083 258853893 190193522 669067406 540688400 268728005 101841224 505440684 449548099 497623115 538447454 313197887 365124316 126280853 622789794 415743633 282680994 969399678 581121694 915390110 562349701 566652597 766209321 874951820 800197007 744869153 667035177 802362016 851477160 229737803 471857641 589221190 647335232 260727037 445197295 888464740 102158977 693297025 311308469 770634000 915272152 245142510 683134089 993002531 319746801 229670729 243505727 943932158 773006089 682939631 123502343 222923941 864570674 639575090 549842444 220085723 688649358 172147957 724971187 289573035 380961463 749733765 411800659 540442840 645059434 489313448 601206559 389104737 141375882 462933438 335195167 379924822 893617370 560454852 542198978 330577616 151856479 464766792 439465898 664364467 152431438 844398006 944213052 942276958 245197227 823943199 542318145 628856259 626557049 951030315 414369705 968953120 206611824 976435724 211425128 271147208 351848715 461350444 396297835 501241332 438726597 948574215 440944729 180882623 564173968 106536041 602692408 889983187 442614892 152314399 733283627 197566746 409699548 900689390 274428175 118591113 818142042 482279801 536926612 673568242 154542122 868792661 411255952 833193969 752550544 733013053 920736873 565659915 202028598 340139969 538919223 163970627 989485583 189340242 938399026 650905617 190007692 506991732 199459596 849153997 481594750 374580412 651943742 260835346 890630748 885723120 159241367 199795642 618374865 171807962 842190828 114551312 523493019 796081082 145024353 800041082 910268055 606120682 169335282 829004586 795601297 816778315 212930615 342933190 319799410 311984008 658886798 525222953 853912748 375356026 328337606 916518823 740594680 402231357 840109026 423146109 870423457 286575032 735753097 548186307 815464334 387694493 313494626 263852716 545678450 313290385 836661311 491795471 705615820 929119625 663531296 992977729 685030090 734277069 376660506 802148107 566170281 964107902 803963425 355694442 691730391 470299108 596457112 900898378 191098874 632676569 801918563 884077575 420769350 129360331 124452469 846774915 520515960 235915898 789392103 665105810 824248578 814309680 886666345 768093991 528721817 111148534 351520160 566190464 570285287 906399481 834296633 640643552 757315259 156120410 666008189 471009850 500262337 421095797 761904908 611402479 278119270 202951295 311539671 486834627 138339146 833438564 975107645 393869081 486472556 882637709 775563601 923196436 303146327 350654591 181876058 563525371 840518875 665289219 101471646 857996043 847645128 111136267 879134098 918547582 334360353 651815066 892089605 597881978 621365334 882007449 202577120 373448065 649245145 285420484 787917023 421232170 589012423 493356846 257798247 841618851 813195486 172823702 982327682 976721034 333040084 997229373 996205213 874290440 774365262 788835631 162019501 449388650 694326924 844842996 735119152 592992460 762169770 982785423 136660294 964262142 698334925 988395654 935261989 736865045 709557014 523170405 814286922 714210259 634085210 176492485 813811074 601388113 724458281 302123757 891919602 263330871 963497529 386044298 846694712 281069429 957321753 703004693 556652344 320860563 628079614 840153200 184927143 233314316 366539479 231693094 819286539 432599522 600289120 563808917 165564796 478296094 216550331 606684669 438816201 670424421 262056702 944908474 126192260 101705822 740077126 511422593 717713496 479747058 436459561 599419508 116661705 327573008 766028943 395698148 368263596 677557683 807361920 826251542 420468644 496116074 100259524 927278133 888987963 528946421 413476349 106741490 474039886 978657355 571004590 308132786 623209690 649940853 155170589 208427963 891876890 925834517 668828323 274651472 558680928 949482451 687276996 494462711 977344336 796912649 456847176 525535524 837372533 356556965 168803217 477055236 524847294 182729620 300787820 425626218 553572705 285556797 563658285 877140332 273803327 909337041 247684357 951012626 410874666 463182960 569627488 911987039 320580685 663863103 415081501 401822972 389258220 242146112 827769666 863699097 173822031 915664606 807461456 971550049 991242355 127684138 761130759 687787896 264330157 585562395 433803944 255300836 371994649 980882663 407866685 535491871 902523362 317343873 855186402 706455490 639750974 679549041 353700545 300353996 925159086 565024105 911574494 928422078 146755766 630650908 244508600 617286511 547763318 405481003 691589518 246560804 114659499 947986867 419062054 487106273 852076094 266139279 398654491 823325125 394480250 889106684 442791153 758422161 989372254 835566163 277809215 667175058 129503251 194817601 477548733 462465928 519296389 151802970 283085217 345982178 813061307 780770599 812897112 472738560 526898923 432143420 332930355 388332870 522766710 263755026 684035334 696198293 296668466 265771330 159086928 904505362 589011657 471668230 254273466 515390284 360912305 840379013 357531823 919711977 957220726 797225175 893971793 198803030 412171298 436200628 841223076 333262356 906732551 647783385 102863361 727423768 622157151 169517583 180321180 726452536 244662275 297567809 587817946 796718484 946161568 767296993 374584729 155621495 427196808 440791029 981226681 566812691 430556229 792925383 960320614 764126076 723176549 853799916 845338185 779720247 388670254 916843313 450002200 258206524 345672680 180024062 130071765 646764150 523372254 353667096 700046258 877694430 653593739 814259310 547247542 250826896 750508898 677133964 102107529 517049619 194828705 413025738 944450234 296565303 290458096 417679854 237151593 150563109 904495412 114422889 132127256 235330094 132769336 135856194 647375785 759896690 586141372 443445624 956610287 732051067 220003961 491797738 161031854 390487709 163377086 681976360 996687675 114768315 952483363 716014104 376650285 520439887 485542736 437476582 692795910 622550944 503351399 378931219 112825730 424559404 466656143 625326073 998900636 895183370 389473493 811651056 709706260 962855711 703282939 187564765 774022111 452458274 399600363 705856882 939598176 491435995 463972556 277679551 630817871 694965868 265275734 513478403 205196206 943842057 357119215 681917860 894753126 588490883 423533182 914079298 122930734 122898036 307820137 814125868 367166541 731655040 593303211 383833141 895331822 833487603 632792380 440176645 706647965 810956424 482889335 737647641 419779867 366913884 564023929 757163423 572390249 244223909 437048746 637770493 778297885 809622760 907664897 307938974 638871621 258568418 323482173 429422642 560017052 576274130 466503809 830862328 310182692 738783554 806173266 524655443 443916169 189696995 263509793 400043319 703996969 172019627 970989118 585816188 611219861 258910402 393959896 679862595 992887912 732892330 281993992 770927014 716358173 571788150 209030165 239961968 929276394 418182770 704472724 238560120 416418069 456303847 382906503 895049197 608606481 620601710 386966789 573034412 232081300 708482253 236823899 287040354 221203614 608135364 254986798 657462843 383992601 422188195 397281048 276216926 591172701 303560588 987148545 165414057 502167869 450754151 431138937 353206487 620116788 725155013 998334173 732943011 523015723 798769411 602752797 583210074 241221733 141681071 725107542 770441550 551800686 861544191 103588603 232090751 247830128 613615476 715476828 230741820 591181196 541360890 265060050 836422966 819525702 334157447 893850997 690545811 516672281 588848831 215640086 215964372 690601196 308525752 488955927 587702661 627738554 257938995 488221265 116639012 571234026 444932855 887348121 584127467 198982837 999993854 725904205 668875275 523624474 116603342 819696398 868865675 721875257 635447009 736190980 927776797 653432137 380201909 347574264 708902436 118427318 799454550 728155404 417476905 867003047 991521023 805882763 806312799 787032091 516293015 204732435 809401246 307527424 946343661 312937298 308788093 644077257 897748454 264579609 660519862 346742985 169201239 718785771 435409826 436944819 791946809 302419489 350097884 497042147 292159677 536365450 895207480 311939985 914346268 972641589 822652495 139581192 497660866 598524687 572060969 983515505 215581832 378751316 920415935 765724204 716721671 892129003 867002872 129620354 730380713 587148807 144010724 530218931 404843946 266955847 465677640 737962032 586521761 356641032 379061191 833174246 798404656 301896866 161969778 481758033 782057722 885900728 160308992 919465461 112507007 725922080 585399946 451201052 954485777 617149295 312724872 748469350 552748736 700607757 240370995 992371042 160777323 562743474 856155527 136174421 552863414 926535723 607994229 713389889 603874617 563428302 269669916 901711202 247012723 518993298 329136849 196488313 941585829 410056599 409389688 326107017 819241441 663430002 181293277 412832680 797263822 789865432 293930420 463474095 954142759 282958307 205904785 315911671 965660355 887485771 655866800 714813156 150119104 496479439 277218890 463312619 466391245 756176647 704592889 765427853 592553379 828437880 678453143 241683865 759538633 970387633 982522310 269776357 936353634 769320647 818894633 800898478 970211055 162742465 590212937 427062606 462135843 161900080 724249239 914001865 424000227 701869465 905178140 590583440 942365894 646030403 702274169 425144175 698413713 624309024 763987740 924064835 357288119 212569714 901358586 116551373 976298490 337388395 484693794 520362736 388896965 549958792 523330654 313620218 616427449 498839045 480910282 182564919 721089662 327992089 377178474 842468886 765569313 463824786 442680435 914367699 707906045 551392196 781936494 397532896 308285694 580574561 964875939 912730342 448607230 274586685 590576641 136193109 329174942 385951620 801492599 825173173 495023121 443026902 657527669 667265134 534537857 707189585 593114974 144574187 127864744 794987487 700006590 507797073 285344179 341662242 795936880 520552305 217116059 973207469 948289089 926534567 865168147 424193035 306151828 876815246 399648435 415767094 130275374 310838573 179639634 919069380 263165579 828884698 998833592 950602970 425212764 251409221 959826888 961869651 264171752 606924799 865517786 281751245 443144584 104209183 204879125 383307324 703012715 940856785 717316876 773824153 983354004 428790842 374051157 927558038 907608260 616138126 534028918 811219666 963595037 755120006 801599629 163069796 537166772 407267209 795319001 413423269 844741352 618478825 407964170 246171994 339728051 417872113 668971621 599811820 531952952 252047822 193642492 106489803 913200813 109452541 108224569 509523079 719774839 588870791 956399774 735059304 450639144 215669081 344070612 920854246 785563647 226970294 795014087 734334407 736405591 109167912 806226799 704424761 221829933 239740182 749205169 641026799 167630374 606344680 566023433 241890919 167556702 222890003 638177422 825339086 222546476 688060036 740716124 509800715 920595802 809613716 941089699 867162194 629708201 255925696 426062207 620940491 407870058 895811089 529976279 193070645 909417924 586404023 385595982 715450943 103979063 894114772 243154087 430395939 411898621 877282240 350048285 798072038 887801015 128704557 639754526 423574019 318764333 186138202 501619310 460634429 446616820 426946506 575698267 678618957 545756274 750730410 979817834 154990839 209140185 135707442 630959739 956149310 863784508 975282648 524717975 633695280 370305088 497004456 941304215 601382663 922185150 433581470 862848391 230057821 658350246 931042844 313424125 594993820 598910494 780222687 246604361 251290781 535823207 333062065 185243034 261722486 778150313 530065256 991234293 825030100 676125923 131162566 628588005 120231898 408208516 748148847 692174079 952467536 237492755 472806159 666745801 961171173 421759832 693188841 969258007 453589537 424780725 559666178 538750517 370547775 347250216 697262288 659361405 558317028 778428506 481520643 225735276 185112975 630894958 767314928 540712604 990904147 669052059 625704332 441126255 988226306 637950449 244605854 410878291 932888473 203506852 166360683 303886468 541065945 986308305 467608712 320310758 499884508 486203949 553556813 136355701 370094146 611842669 224241175 418241204 984939014 598304997 791876821 805688769 783136115 975488329 536231732 167163793 593746612 732536890 283865542 472470650 868730516 526928030 567154972 659332984 424749033 417490128 178237572 989050232 450661123 504752629 864624294 344799391 984160012 586517981 164375179 439233373 668628473 793299731 680723679 344918284 499032065 307446830 145441663 983487759 773693183 797483016 438904894 178331796 349052316 323431978 167311657 397470116 259848942 345303582 411689548 770803409 496806231 554496905 878462129 644389222 486463655 804967938 739364014 830717199 175933577 314019917 948246847 408828082 776659336 630610459 404416030 581545976 190272038 831591836 535276135 454769857 613096514 562227219 701884115 198974887 268242601 333709537 580897226 642439872 966111933 303535022 490299265 288830107 135133816 154745863 172445412 554110814 389992330 754138529 681098625 343183877 488503443 686045185 361155199 390048543 672787097 308927649 301202636 887468444 124030060 915460633 899936736 537827232 833701026 292447710 749892138 886149232 538918826 211268641 779438747 756587655 259783587 462176013 194615402 729550435 959522593 522037291 629083156 854574869 724203809 543763955 188268551 998099728 278718872 195453775 985508466 253712900 141817133 493064365 738118212 688457666 382222893 199154426 445927686 983021688 766185753 807624881 669751216 354128131 179001633 405430613 446345035 574674598 947005290 565512143 571042545 383752535 707459195 427704849 304423243 194319668 498640896 236933509 284850517 414197402 536810008 600751145 994609906 125195932 437507406 992641150 453050321 309103314 553262359 224596672 295441623 318650432 845786562 641111134 791506064 340561050 866208469 331460220 273225697 538042309 868262126 533508433 409616799 828420883 233050595 772978143 656944689 831846897 323449542 807965879 217793914 432816212 908666712 464410392 193120409 556344335 381622578 723123779 420968578 299918051 190758350 568815193 999849437 306957580 840812949 718664534 251147764 860763383 353034245 290448633 304018761 819290276 906788932 356663744 642122845 975664030 803445981 926683537 516968386 951833093 502230516 355557737 538884701 817249106 118619187 571664882 827271959 490178613 101445974 276729415 791545252 877137804 303817654 131455566 409572646 440676405 118170199 262747270 703135538 724651460 626874005 293223545 237107676 642576704 733604862 595368679 466630007 130801708 438848653 130999752 281455851 262986685 340412637 336287622 356914826 639943037 280825674 637054779 181615234 931228975 225702363 276153461 128596897 599051074 838255483 561129179 747239515 617691782 757504288 683879238 811836998 110436921 819145148 879029575 228738380 909775827 118197629 381694058 809931462 792068563 762817807 499246413 218998337 913810565 901672924 183900301 471397744 909387170 835671299 364307067 466625067 605231946 993076214 907869070 637334778 631312166 408358523 414532222 908202567 874013958 447369182 255843313 856639526 120343490 460027989 895623908 419196769 898691685 989481925 426912878 595894774 585394436 410083325 579377122 992156802 113344459 315860930 183521212 256136646 715427561 339024083 480800146 719377689 818198283 549237541 464962853 632001894 867938129 144768864 985548269 535596060 718905555 132322515 332651372 731177755 408558075 944571797 771459762 632296134 424571317 878680755 665928143 474152050 474245575 248929490 577757274 881855622 896949825 738173419 911520559 586804198 717418223 118038398 300897166 398566577 260300909 997622694 669642742 297249297 415173424 494049951 449296573 921257770 133729449 894720998 702793010 112390261 967870028 110221210 434142341 446921061 785514283 529884719 266696177 417166830 848284824 590212350 711389158 688389169 413679993 533816509 691076812 825237011 532928824 860760374 946891888 383178855 487451340 745307377 620280679 631435305 455503061 884423145 831092047 335464649 614863003 310778432 145736987 650407858 705393801 560382420 408224732 291132758 984073578 927009501 975480188 730273299 418419466 262071357 643334577 775220128 622333372 546896363 165789867 996616226 851885018 261516527 501074042 294675527 316225271 916934468 839532916 148989717 355577737 964115452 571450129 104170972 748108624 888546658 118377059 207064637 987743983 215960312 913882427 224504612 144425130 444688866 984387885 744159364 238833652 396438218 994650852 579602593 151659198 492769073 727703322 279243589 812079378 992666538 497582008 958061237 207816682 202964721 139612176 649325467 710822375 171303070 519860898 256596636 658918904 509601664 109155738 349993249 939543807 933443052 226304283 159391901 126181494 398494341 248706987 717495477 436162138 358005266 334823833 958381243 620471215 540549575 790568229 484377065 371049209 712762064 142370559 680250024 961760873 565440520 400199948 637055476 759596527 555082798 673427840 992372450 118305483 902702390 617199218 968250586 378185371 963472779 591466022 994420173 412468159 283008279 200186115 590635940 966402269 558275534 856097260 624226868 771864159 956614342 610078150 278204009 377757331 447261861 156915151 956501521 941352793 159449030 300069071 568018956 639769691 467824606 413281317 640773247 513167587 995192862 273490370 240900123 479387384 725115723 642881834 283050179 537355466 640694469 587255640 588319782 962262328 541891773 606168296 799500112 607699327 746399741 734247558 896179508 713447908 692760967 976147478 756950764 861234299 319580835 389514427 588902870 892466895 583488019 804058733 996841204 225036496 910245133 709489358 133609836 359250606 121793542 603759652 619771029 150251274 560014315 143740438 481436638 588548997 446429797 195090818 904814943 935164675 249855831 588445359 329321701 953988050 833383666 766170489 938049668 446838895 872053906 898713347 609158006 817818287 938023589 972580517 816296795 979923848 794300445 965963023 464103186 677799077 172914081 797616983 442791017 576283653 314827415 220118388 587449432 231401395 833295650 588812356 805214652 502462939 431293614 831532242 777331895 238264873 153975020 581483387 487211153 714668084 580461677 486572146 622867286 677601657 554623338 645313769 734186308 365371552 885218977 351889483 293751762 820209830 567786189 232583535 595793463 233819768 182710642 469708934 902313397 127689265 944387596 663749438 473122895 180672760 990762682 822664722 813933321 939866286 347908331 698243660 619978216 764310041 585061408 734714642 395033734 160231718 333445751 190993564 170683941 241617818 762130038 641221252 336463917 388808802 336032249 171683322 298430444 354514851 531232491 920642145 176838291 299191993 317922592 278991140 928284426 393955203 363936452 649192459 457843888 544717733 217079892 577627852 225394288 910944415 515150035 183885583 752327320 197774518 641088871 923583861 610580712 345028838 734637865 959430552 848276555 951305160 287131106 933061143 380636893 727197189 534692767 716680840 871869601 345565273 817180224 837486532 285645439 632060019 271850134 574057704 100885137 946446632 132897544 803023244 702330912 710034432 371790175 205530143 340756062 743379823 901141010 444549408 203228121 984139258 136386800 120506672 853719575 419213598 603715943 252100621 791806613 719441614 743020614 879473634 173055685 177793896 121891863 333434078 375512870 533236941 701480847 467145935 715807970 365483347 761411549 717776185 138983995 780869343 685929244 460229543 338544552 740523977 887960330 451575600 601415995 444286418 165419909 816533146 895495397 915493274 713691144 279749337 328172301 397870346 506578771 356787449 996804969 233567441 178317999 551075736 155380056 420802426 203856448 644576109 860341123 811474854 944084571 281411539 440239136 131605925 851103157 880548521 559448849 556350462 232673074 219622145 399998427 963071099 971985208 160266192 696099792 181264999 780775660 146915053 389276800 348900754 478056998 509574708 215046437 603422164 959615418 373304584 748315509 304979224 366526462 213669521 429585041 134959647 898485242 889905212 517682184 758849948 746675880 745394805 701789170 747359955 641390461 315878196 484110796 352090736 882970430 819180549 367965972 224843863 507265013 395364776 735898775 769576180 742713305 292303455 241128060 515471542 851592382 327377310 923766593 307496340 445419968 857883841 279088129 382371015 616157122 172990989 348363375 562183364 396532398 586827571 892752695 629227026 953911685 769924873 112363866 645235772 315321696 331681815 155303995 803220826 452492720 753012136 779574216 472866175 535714900 132336817 525484097 120083934 257643965 543122703 214614915 707243089 852764057 706219280 464420680 823750965 510186035 659422667 889944011 582527545 166705837 890029348 979311940 772337049 494137911 344122243 323973402 889400898 708166014 204021964 640791524 556822931 908051072 381815923 450936941 365677388 902270903 253279312 405057371 124213986 444971788 842845448 870915099 335399035 288592318 492639683 788688439 208102891 113041591 337804749 818980351 170927202 744650152 726480576 228812575 174257927 931053476 937099457 487451540 818770667 733951747 735751376 546325842 696753851 668580495 371296953 465179623 706858574 443645018 254705704 423448524 108654217 423530086 241797132 277676398 102813941 172854607 960680226 513013354 270525780 531554919 537401591 127042524 964520266 336041524 599297955 510829963 682064564 223757762 797579366 635654468 872695138 970904849 742246786 443921601 744237407 932602768 618633702 702837388 434058668 721479560 915027086 465168091 818175118 296928753 738806289 297710336 818444530 969138309 645377020 249790400 746955804 406355251 172667414 514430281 640949916 441772864 462413941 130053558 854395771 826637718 398775472 866801734 471078548 730370529 159583594 544119220 797699840 258140192 674507101 724472865 871332652 415398067 380082584 288605695 127623925 218870891 484651780 850730044 842723690 742767372 214683170 487163396 301780761 703700633 378689012 999111835 892056265 507083142 898489027 503836980 324766639 761464636 908402073 357015403 551659562 800275788 508949495 568899159 736912316 888784420 714233836 101060637 503294850 606849093 313677510 250189276 813036954 475876123 276522991 664307084 970696222 725234134 916141984 695002266 908455781 462471410 269710827 806509972 584047337 501206915 478801802 184191268 586133973 685436345 936804596 650924553 698903010 669339731 608128893 534608717 381587171 651954969 912704320 911994778 900200613 111473222 381968082 264097213 945656426 718482542 994196117 597915771 164054652 228107048 147773039 761821963 146572102 779066865 550517177 826911250 950218515 877017968 103931426 708646882 167826878 552382854 570017272 599340541 119263606 315104254 238194720 720669320 513318193 881038413 534543757 666610439 319541347 741236628 716720014 436931865 969699529 489713293 594943243 416775351 450198832 477194194 608952388 831404873 202953019 951267357 737350686 602973913 957358785 185181566 117150750 512154108 801461266 151338522 836544414 135965929 456082639 582401087 587189956 918754258 845821675 710615041 890399190 220321370 313749873 243410193 721824923 763010058 804816653 781890958 112478824 205801464 115113144 838140433 760883804 949336261 683094555 618939649 888322280 266934199 838704422 526010879 978436387 448851876 138581003 352300177 881604967 117724779 511770079 800475655 732743298 379785750 786412130 468706565 179051657 619448324 686052198 719686881 965652110 268375805 964194171 126322366 411158201 972918348 278365624 940076620 130982044 986906234 199818299 697484226 480515142 214917488 683230591 776439157 629812939 915612975 190583148 877273725 524475113 913914676 537188318 498683946 931771288 365867195 691117791 823577053 685965772 615078377 790385637 560854378 382460196 615429983 122509949 617162211 365142645 188999566 471712769 240752191 369414460 371344505 473543603 931261068 791170686 850003039 757813376 715886888 328652515 633523759 335944280 841448458 550208637 285695627 583204820 339817562 942352085 173973425 457555137 623652695 964139015 931056031 811687899 874076524 698121127 241084611 895730683 952250679 307592597 572152449 618305642 658769892 971336902 867836670 907322188 446863026 472037990 116201409 197247613 910594629 479269888 531472476 793795304 772292556 968182083 702683823 140474996 830041640 588990278 557659274 129268407 614054432 988881460 907734013 108077733 429632226 955969129 138507181 172536394 547737359 265264570 693156087 372136078 474673561 986938386 222202063 589011700 873169366 404669997 898503014 500419656 438763920 782944157 674924203 235454261 631322793 564656519 374867966 292197414 707274924 335167142 646919678 440932069 298272571 719637311 906019059 432231404 337321416 801814143 173242742 691839577 523010707 221599956 665604208 988003093 531085246 487070026 230090112 407497208 317127668 762706684 569675471 323079724 982577856 132284094 106492982 857651728 880495274 949677888 453656010 951142161 816203507 771590304 274482062 766881645 297715597 169890171 596067695 364224154 780860354 892314975 172269130 401750925 389432173 324257025 305976738 358581409 604322969 434552558 119193623 985787240 665954725 237701236 612721187 328271397 177402470 225948788 996426987 147467201 118347021 241414412 656004266 328329898 840475378 552689303 907355876 522124866 302493649 787258690 841173756 456967159 534998144 228839919 482381575 742857415 104620515 927243170 828787945 613481048 482029322 705192495 948713446 902716879 393940416 485578861 675085100 352737857 375889252 873527299 566503136 335074261 405676160 945254047 574426490 519284250 923457429 112306995 441304706 284883234 646514351 465941693 886114759 430267221 365786152 563561712 247281148 494844424 763840963 484075013 203204690 323741921 468915133 709488796 781434287 722114166 715424589 500035532 713620780 601919537 495275174 415641405 476943785 424927894 735709908 210223825 349548720 255235046 164752158 516118971 906406552 992221062 632653851 206333592 458415744 333362694 720530124 997640304 404641657 472117428 307892077 174463130 702451300 755150152 218644782 818753794 793703683 526946294 565988498 921489650 273135993 347382334 462080597 748229876 380956484 725247470 670398552 947999585 531692637 906846522 976632525 699456637 247253527 341630473 553595921 794895583 974171463 323436167 754847158 189596005 882602686 772801798 632248068 981171470 923619461 153804390 477186520 194086139 707972376 196158067 848919073 371322183 778753520 105514573 251998915 270946094 203863436 186991292 735298099 746309120 125889169 424152581 923198004 869704322 511036333 776944436 209692097 596344986 845545477 875445616 154016639 362454614 414312304 537134685 861196594 491466466 490531532 549731787 150375633 845487121 167849098 425998166 724841761 681685397 765133207 242742451 930010643 191284068 725559323 681388473 651180943 713931181 485237502 635279724 250820176 659193055 130022150 671370309 480477269 818777723 310176504 776560929 462315408 750104031 918496259 472404347 437299135 872496573 325878378 560306953 739854370 611986423 617182517 206131373 281868441 813541802 178548805 321653059 826704574 940402124 985253197 833853337 873209317 207994196 605940991 771633586 960249556 892019312 462820203 204063692 451492168 157387302 648016701 350267475 600538537 688515540 568257402 419927547 283085695 763779016 181247073 783076283 854449586 266878543 203034073 453685281 577558201 738002524 136001501 390285976 797320151 809024548 343346579 736020026 148435734 423642902 281507569 222430547 208766275 222943726 996963060 473807125 468799470 850347600 758410067 144666847 158902979 895849489 477503329 462889900 659870025 183978137 966996217 114624441 659309435 703330164 910945449 873161322 560218062 319863537 105541895 529458851 975282761 445135307 851672626 312607672 306129262 266980848 420671017 397867757 186970229 303007283 631259586 320152073 314553983 646115999 567591549 814317905 814119460 404763954 766991285 924345253 545368176 874966431 848157741 401512997 942712876 168987086 489566767 979967167 686426451 867545210 176274683 309108228 122660585 257206261 322784614 577269481 205659428 381966837 492252181 330573132 211969411 469682335 387715436 145960491 272409893 350830147 791869874 294542465 199887093 193673246 172089189 517318551 956459045 245034388 338257538 431328341 477173132 692292167 699220320 399486363 915269020 358469603 560712824 991423817 237202967 504956809 169926803 459922469 735685355 292811780 365588760 166693443 242951821 449619111 784546818 127378323 922495552 994408536 627274008 491851860 402631883 407788593 292519870 336946785 497332898 697027696 797971794 820750643 459935967 973000431 578691797 737905961 749446270 291000871 457471321 235238207 820649895 734779208 448404855 538912903 503880736 181551621 607724466 584720638 218565115 151551254 208942380 779770085 502514242 887286438 900292898 409782273 403661818 281136948 744313392 707926833 202033359 328917723 476242831 132967869 952372915 977752374 872837448 758777627 400793018 805516083 297812705 244527583 678736811 657678288 796382423 314089306 641227726 424685253 286608999 885476851 944947291 818266348 192454662 664561017 950014206 862079184 335489723 134637989 113310308 240502707 970869011 444459297 633381911 216294941 346442602 673155132 491386368 514387883 839010246 559703708 460578699 212285139 102482380 833642836 487647370 811062872 173873888 411526162 572714155 643583043 590795722 645443461 327724223 724893562 939947503 767614765 759659249 374886242 404662254 855567790 615845803 188287905 561857248 186805212 979399773 991883362 203773553 668282061 741622750 377120390 428070620 526766664 855211326 606782660 844177955 400247580 983880768 282428756 342699552 592175287 515768986 472945021 113237039 997783752 680520583 103809281 923915767 182391890 547907799 680703552 844057960 330105306 329504999 813487495 501888487 740372811 832827807 802521004 968104500 895066600 594057663 209959650 909042090 548444938 384817006 651824630 353608609 666111963 693097848 741680116 301271387 120911672 135135165 258881471 226790757 932590355 572504400 230481646 669340931 820147822 722349783 810667133 919458208 182158356 783976396 682237279 660421352 799831130 192231706 329008072 771234023 108729057 822892367 345750122 142434270 130506951 821206433 687021845 459079080 414372825 917333416 617517258 312120802 812891002 692457894 820337558 364185311 687247106 369848742 705359997 961906385 551205676 679713281 877312268 122436823 119555269 256095684 244959037 836501660 566863384 735663465 459288610 983786821 615890877 987592249 277281480 955198160 459527831 970415382 624911627 422019044 414503151 443262615 945681871 923963952 673025979 791441463 144518887 794252359 346227592 250702345 489320267 268907696 972514858 677102764 516560713 487772219 997432005 584836458 409055814 935474037 857657918 910598077 300987776 264493629 790032437 807635945 423868219 195874530 765455468 846710209 909258453 529271869 780429300 886773881 830972893 928699515 538513692 263492209 492130619 862356576 148555980 917558106 513095651 963768599 351301561 929279515 827482620 222279894 344740822 851196914 700313779 796721382 934180319 808698078 104992648 913453673 706984149 512225868 208318601 972740866 617324344 210691052 204528941 280575106 140866887 830328514 121481026 289232950 152061007 758995454 320244764 167830804 851927718 622738022 168530695 256989242 533238443 334156600 477430758 868344668 823807255 179294989 748040609 559485344 737653632 742930310 953929022 667157852 545114588 362332564 969158044 870177985 351318863 602963593 932958584 526969347 467269202 163227151 832997962 333704090 197378371 455090145 962403179 476864616 797531004 863285877 519913318 614903237 753997515 572357475 388720833 124965945 457565013 998402427 845641628 232868304 330721619 135249892 156649022 943963977 662707283 582929428 191954282 129833161 656349704 417543273 354687547 614464234 483222201 808554524 485644246 202715992 883296350 566250907 435184181 242578824 681954715 952949112 948409994 563838347 823359332 240498185 691060946 710563731 173189104 654831560 535408794 308150786 146753335 172660925 325916259 383688093 829270302 314130238 215682325 500358978 184363998 704881921 998968971 159300293 234655438 444041327 556196567 607884679 169543409 119588231 447398738 896580648 340938155 813662824 877670181 889092095 411951747 384871864 451248086 146417241 513506376 816708223 369069395 398569760 966132280 118960944 638767544 480359275 790370460 170965113 149677726 811166052 884768873 366605354 402141737 467931306 476451209 276681036 340328065 343013307 555168936 276222188 857433050 296956281 712039291 888519539 583381939 123268098 645075119 302157003 704641042 307027815 751535453 995098228 408875728 969865522 572971361 787102310 908339606 347323898 611386003 990588398 421188424 648527993 144488984 421731659 132980337 646035202 872402835 912438973 732000508 194969842 672500742 657358591 970378473 864017378 189668141 515078598 722007713 638218114 556867125 240528009 387234573 176115799 467771385 234408380 847443229 349414858 707718410 222641761 561329788 759716446 740062626 785918838 366239256 633263772 809292789 581205898 515918920 244862530 992714948 998295178 183803249 467681170 458890568 631636300 615953836 793790888 146290793 214696917 817454595 990362188 753105995 961204872 544623796 829457893 882201389 299109727 652654634 183565487 404089710 379233164 336188866 273820510 847511637 195502502 867944103 355655788 471522140 801774775 846363166 774077505 184114926 795084824 213886634 288704282 553426112 315491470 982865169 828268267 528550185 901893058 935930206 140171927 897949258 332252818 738089100 328490686 340452364 359033799 350645131 833150990 739020483 766299717 577958065 333108085 248126620 871278850 376840421 677669045 954565578 467455415 605750279 158620783 292167326 119890501 863169602 665794333 848096800 817211319 562978960 326255964 421486298 951546295 208290823 345539546 897693536 387377470 264828499 376881393 327255186 946249005 728865457 273087778 759837773 373096539 528774139 415141792 746816872 360640746 233277541 905376365 181981616 867847340 991609590 894943536 676751749 946423850 550321989 405918926 900052830 225985772 646523282 477815944 617914021 317223048 260705944 451414286 581654862 745713764 124883947 645430702 742876204 661313436 232263818 127048629 267583166 152814403 560313033 134061356 948032919 668964936 948215762 548538214 658518717 724169392 129868029 191192703 533928379 196641860 126317109 992683235 167223929 721081678 393425441 359192321 507457476 752632675 423011350 527739605 138256405 323325873 708046092 856184745 657668931 974719410 830671134 698081627 789552114 603903479 887080829 364699986 850295182 850634412 936882616 445455350 716730060 952822983 111944291 357947793 335476335 485319830 246790372 624372062 481042966 529971961 806004585 946525646 191671151 363980301 571439944 711417533 819969269 540176202 154223345 329469629 539281520 895162793 303714981 687359848 212971159 508156448 385760126 937283616 779279972 292049113 160413373 461984588 851873411 777156619 662064700 764329991 461273512 489159137 951029172 104194892 781338462 702109323 704992664 343238314 361806260 367199968 360236994 753585053 920864443 437106907 992575094 373762348 459536393 433757729 610582524 850412737 916073049 588348606 886369300 737486805 848599096 672102653 546687367 857102008 597995907 601022504 653023978 659284608 936834089 905355259 226643774 972092686 988609320 657438879 697543724 458071005 220543963 826312394 279461671 468889352 860220209 724649950 363996779 530823958 848003819 218049239 441185395 177094023 982369350 814922168 724182826 620536592 936700325 852880744 941307678 997465741 944981292 360497964 290976930 915723419 209502837 691989195 660916490 852720406 650983605 376472537 917577023 548015100 653149637 203247731 509487640 628507472 898855866 715079311 418367420 824483086 107367567 668671049 440179354 716791122 411245322 203161806 396387805 248875030 228619235 892089029 762563358 294262826 623973876 807158069 627269567 875113915 623599285 578546583 443178691 984975628 393984746 569281867 854727206 983906025 951960608 701684932 801313113 979252744 676197566 638746603 155586140 496053098 939933584 597811168 393430189 478972772 593073944 552452894 450435809 964798816 897186156 911719318 273643019 268547977 932113511 855490574 920444923 439947881 254349502 142363819 310678385 488532508 913610432 968327005 422129154 622825687 747206690 276540775 439924304 914784719 260361105 795815223 772520029 648110330 373787297 362984367 423317023 207999294 660421843 115538977 799235175 487788096 616859943 953017277 229155652 838489578 393621726 604950320 857690709 862244624 514850528 793534732 125766262 386436321 166809364 356362120 552794236 629127671 836503201 841377712 106054038 749448657 258851661 487766151 822968950 648512436 918395480 658186858 813979985 446063584 639202340 765698082 490475086 858052913 287951114 735532142 200802652 295976430 673645564 304051692 145561487 568117154 161662646 961871008 218686774 723965370 411855387 733275054 638024619 999544449 885502675 917428327 917834982 143742187 503526137 392017458 845208804 971798948 911343276 135094833 656224371 448711930 997226359 769830340 786239505 344376316 724089526 188400762 284363205 927890153 733485285 884012954 285683051 459472182 462238371 649611771 543430797 103569132 843392388 478872349 628750170 310201839 867802700 783642542 597518895 290498410 313620840 212735212 173208635 961046589 693618014 145371960 516582795 426828448 666539622 445219470 159772984 423715495 999332856 253211795 790863585 461789439 903827128 629083983 726315992 657227239 412580989 507116028 774406603 891386564 136638571 739921776 625517046 513808166 385002230 982695888 583759342 334216774 141178393 467519251 443217337 889750066 448658498 352151901 556606911 193177879 173843575 271402184 825493755 509525131 676721676 152896389 893474805 653433403 643801167 448174080 260945432 423867739 564716651 286774808 118854875 109544884 733306836 160740264 304261900 652919650 757385405 232631769 453762794 635114500 457337594 279301486 332422495 286070746 426486003 680133032 429470795 705592580 800816064 962754022 735786961 231009122 343743126 653881821 743917521 459153896 268847635 925021435 346893830 205937868 147806234 466375670 915520535 718994242 330277698 579099290 954349367 294359379 112955878 672826638 340155156 201277390 177602059 115736448 141199272 159139079 965654597 560011736 938044434 663438138 213706530 508276814 266072772 417252630 763771339 997375535 895299209 248292493 653589263 254519917 444621269 726329333 980169906 592921985 367924821 223495935 692684067 611169025 391149500 458406553 412623370 115167689 672160644 449203064 383009644 234602653 799572149 649193058 161196606 563451562 597748046 619079592 534171002 474452835 532456694 316807527 977782052 815775507 979360460 299533795 788790783 405708475 506069948 166352310 339623001 623051806 948895555 660521642 423279056 565176872 615031825 629154975 606664062 754717015 430074947 367727421 499657817 889820916 911857165 304656616 102873630 407182786 781805641 743325063 509954680 964813701 651661561 756212012 672892009 867883927 953749467 782320438 450482207 399983617 664363622 604897973 555719158 820360208 759828480 411100074 221918201 750035267 173543621 470882364 870421449 362774988 148837466 314245722 169895394 137320281 760468635 521109602 340367489 700791506 167099851 119039335 781420456 449859419 910252119 902592241 674734389 918087750 626563552 249356242 708869440 595322709 226458568 382656792 266467970 576413552 580861316 127946018 358856918 728535645 682420503 727994030 341738976 366522441 851547919 266994244 881825598 721751234 376827995 729534670 637078250 311283769 854611346 526368924 665051434 947207014 549658506 452450257 840435516 893981409 389251762 691655122 330408323 720027798 251951879 930489409 691649840 611203184 666289274 231311936 267981781 498058177 923819388 621987579 722911828 361865484 945727669 521675631 177727601 791591316 482023507 766309223 503118079 686814185 783076565 873208625 687028672 673219809 185522641 576412980 720345145 741209542 532293534 290710504 682408774 361532736 308502623 954502009 126386610 576307048 296640461 387516146 609593668 195295394 944820550 683970528 533666573 241924864 432775860 508860985 359499116 838563105 730654194 375070531 495229367 254999119 890514526 560223699 926023154 375107151 610474855 444828480 579729526 224105897 982308272 317735552 812699800 459059605 570843027 269898795 155444323 399534699 855440472 429985399 196589812 825432271 663070995 127187703 158479403 210607027 889858853 981276033 132378953 435248356 395958197 597941582 663396810 471459447 861633615 676813693 549528038 976318428 649534958 176444618 108173747 390574044 584783245 926166314 176265832 513005562 445931325 620936925 231356328 222214815 868944177 180843875 189067217 969624362 856324155 230691660 609172301 215776781 160061243 127373066 535203753 240003252 821865406 673189210 891753436 290592519 568778675 763102759 865513491 636937684 304774569 713928138 832312456 882442287 300948932 883852707 224627763 343850209 892919504 449980504 842605928 229845146 781320922 558337537 104580850 947029173 288662986 719657314 938581701 607817956 728793707 544622055 899954906 578763856 749590031 683810592 116198994 802470107 933332853 277940795 266546164 819657369 657215115 642751317 412511749 142983740 312539110 979457247 173189835 643804959 335109384 236959620 756071642 499894337 405654296 341062470 821287959 484023471 959329111 543992213 316296567 457635893 271304656 880246972 958852589 409627628 719284096 621065486 309497295 195501177 830986829 739183537 945389338 440456932 160337343 505492834 878008928 295872430 366338256 845783164 784762244 180288544 504734509 125685497 320510870 688637395 892093772 190559430 871151908 721080145 801404683 865263272 385343242 227661200 671350611 442123555 598797924 725238611 995050620 465636664 302724743 151865609 138768780 212650255 624750506 967904174 922951565 854750823 718212284 105784967 475111490 718501071 839285713 111144868 208796119 582714125 587250303 654897038 497128572 598820038 119402850 169265072 345013420 849202612 330612616 270447639 381904622 956891957 713833446 696035554 457357405 927101669 988220327 657849029 236483455 475289204 764395496 825784948 510117545 146963496 553141860 197690382 200457424 356722567 491364830 750888706 551336524 549273847 642762769 193797561 888170830 762832426 819059294 324524372 578018998 455011979 950992506 727217108 135285742 946828089 195639947 535784117 291197257 558842309 310012168 601554717 729304825 245921512 342847158 231939946 294992777 862371442 449067067 863571903 532082743 512994879 216308978 385197311 310166222 997751311 965833795 761708738 136790442 831738037 701978707 801573261 473925059 350753938 788636225 392331636 255397109 884026643 527084345 958820055 154064454 130467189 487724080 679408299 893406473 906620435 681875800 272976342 422522561 436821718 880084579 564240974 711365611 177934938 654945224 639434318 508361291 753073403 630623806 927376005 677277621 520059552 519760860 102916360 199868832 841338560 374030052 586225932 582227299 225808203 951006297 806422816 384694690 413251184 986045553 446574420 167909102 697400557 309646434 362509174 273731376 370462169 910805184 621786639 242351033 754054177 732118023 934228743 976995447 992531353 309201122 998066925 988188304 434000618 782569989 406239620 540314166 558401682 247474585 381995386 764306975 898749116 735426548 578069463 470592661 598678070 257666069 418401292 812577191 646459908 945673779 703429892 827035279 900632930 520701867 720563836 590554990 866643545 213845722 876507399 376659746 365638139 751718809 246264060 153983195 529618751 636791621 519435556 754169673 245652239 189780311 507699153 440947727 174422333 886624351 760185954 318888014 852858022 394094175 612351344 779563607 766071722 479417030 476792883 561315040 893184410 682589677 767068835 655976314 488473773 690241903 580571176 942020042 645903701 883565563 378073957 117956319 457299676 233324758 700945953 187690105 746372838 723268720 622172170 558759191 799547388 587503386 465465623 846648799 850617265 208925511 813767917 926538119 715400488 506863996 738586745 718431109 149018372 219448251 263485807 970698266 499051255 193513273 314936139 238915040 319670368 242903210 602559368 513228908 607963458 714954719 269842120 559135741 496177481 261396162 436356008 288767453 782522885 997527283 163621322 305994144 981445219 724716568 101505229 703979024 491710403 899409860 579150793 612055686 638422107 273661995 410478955 145212344 226372659 111426669 169906746 740734027 661150255 601778578 574535802 216027357 621860985 994683305 647877818 970848025 754703456 314061433 838334916 756074071 215888741 641484680 285026042 353173808 565731501 735296166 151301716 251579524 129236105 836511666 867241566 715800124 891785147 111514667 557576384 969473183 724454916 878242048 446302637 855722939 814648590 878148047 566658270 566262303 304933245 262506248 578055545 414865511 587477913 881420940 587125439 759728987 488847955 495052858 520819909 691434008 301046803 400426428 482366554 319288411 138440028 465327387 362530930 929784484 330802091 616390541 495071093 808446375 829362229 806830416 210588743 251732953 345640123 404661482 408709644 773134511 155837290 196694144 660920516 567146873 635216400 761474481 162149773 632236413 740651319 366628734 156819125 390872943 500090122 785228914 238244482 819148293 636703396 598867695 395350446 346256414 820784386 141040545 357863284 621392845 931353950 649239024 468154558 602931164 544226364 645692075 698047717 541472888 751283531 924072965 639377892 502526022 686449751 550115677 429107327 976427225 270464172 671624514 926704560 334061148 314084280 817238945 560943557 494385181 755009648 620579996 937725242 690270930 434060251 792996205 942220124 539187208 994480079 402919519 503695518 138986473 241709255 877765066 678052166 189783487 138558979 452538889 507068698 959841930 884329771 677434109 555322179 420381023 346559803 775140087 190122005 902946248 731187725 447541965 164012743 308853358 635263205 370855392 833096061 697652901 144548977 180977343 364251610 506110647 601941569 779878656 830808622 783993049 246345003 468980948 423757467 697920904 846853805 305449038 919176322 909598522 938414727 133655520 653582446 527510977 485541047 497280652 856023917 592276199 791404018 981084931 812904938 909889700 847110364 559776784 837883124 195212269 557411796 493371953 222413610 563305054 790856016 939549892 528166840 619651271 712899869 211395301 621879253 827038636 425904684 284781459 958539906 447810854 587383213 400061847 424552641 798781110 750365216 183370343 592168481 735662656 608577789 162249982 868584544 508518848 661197596 698992260 953585860 219040267 237375235 311316304 861365833 951506797 168524781 708343243 594496837 675344010 438868561 800092585 625048411 694801715 811201256 221727044 775177206 252773859 366528843 718745901 828154275 793305448 365897719 814651967 989548747 377916817 113222290 481105359 117114512 825208560 825281875 290402725 644286288 659423610 893015555 325158283 798098210 891746341 123515028 698244481 477819310 465705127 228271085 506553881 824803886 246866710 743601697 890248662 361637675 892105295 901496085 814192212 246934769 958760714 534035968 776599260 857142969 829030848 771860318 899689625 421051143 827435522 366582158 322357442 946240227 699720442 779092828 138575156 493898069 170229372 932310328 320883388 827672201 612516027 822373862 964764248 938023884 777083961 260151617 353842928 565460411 936498300 456469847 257649607 650037662 361746119 738471350 533561947 227054300 816732295 340643418 184251860 709396197 706085849 790775074 367304006 494719869 446902641 389420900 492070468 434733242 632233190 144780251 268526309 265061593 653557808 887070728 850438891 960613558 956715060 534656196 323290650 478422819 457425159 363489677 702607620 272118549 131769653 432549244 879225359 452392490 162175731 333540002 637294830 955080459 977343042 726132591 335721363 389036840 993317114 642479328 227933199 681563872 807698389 258257050 410391252 449056816 290497080 456423993 893397130 186787493 705787902 651400095 148685540 472682198 213824960 285388070 463164126 954806765 696989988 766262173 709354123 213139804 780967532 797664775 637225560 375707501 175012335 990420097 337715103 103837753 907692662 714993889 785018312 794063679 453972438 553781223 913076387 540882909 238071844 539450042 657237465 701916000 359543979 534074789 433846505 716767337 545500879 767236353 784004480 163604799 461951827 806584262 471049229 944301035 852999078 129937202 997939740 563742016 959719568 677673424 307857293 248368330 749982881 666330304 169187508 786790205 682127604 286102041 545837499 799608913 852949542 455496327 306345102 402633317 699082863 982744996 791914845 410517547 162086031 605041935 607878011 449929709 675103456 402447872 549486777 416533819 416537469 716356257 112679278 211314055 627159365 172292662 461022826 575014438 207362635 839877639 775531516 302506926 521037909 207480022 613836422 807081728 842579208 279387284 268889502 799721890 960072021 904677361 555836897 811211731 376075685 899948713 973118389 269913896 376685239 112111615 463671978 578293712 728342713 912182738 759359980 232243307 656452622 356875239 616403526 473068934 468737224 806469791 803478479 102479399 534457376 794917267 282346764 202773009 785984949 140369810 601930547 538624846 547844285 619486617 952989004 445577437 403759890 904425799 824934592 679774116 527088563 187065263 868248602 701961775 998845824 124274831 250664366 573701434 400918876 765368839 797158982 214125685 787104961 264943173 205704310 101813893 718746551 776714445 713931985 151352382 935207710 982806194 743901782 577516126 938419930 783451664 958299509 267740202 662577833 508665029 975701468 787186192 537368018 866125033 310570691 180623206 576326497 695953738 621139875 557164621 842292223 635095799 647496583 427572312 237011987 504962797 253218776 869370055 259486180 925475747 872448231 248064314 502349686 235228110 629738894 167102392 391226460 990732085 999895706 521631751 483318445 169293882 772059389 993195592 655238332 875961136 326653580 103288122 271576894 185409588 530373289 171945933 788804589 257251003 562867999 656121681 296696287 541329018 992861364 830625107 531958255 413858552 750605883 939006103 264568899 228013372 359663636 754305606 189279291 129083035 342394649 352397769 591174077 905489005 592811449 731902702 158079393 369761217 971879509 253948379 559178298 819168265 174149406 835829811 733708120 728477389 929180913 310724920 170241480 759704645 776709510 406368278 726360878 306752649 902966088 137772720 630543884 201221695 808453874 411288949 660863887 137301908 572446707 554057387 443553534 273055567 146668276 731401174 907911211 950266426 598774024 264389324 471142917 983317249 656603498 697943604 906063233 828528230 984771136 360605643 923223902 681566829 784273450 466618322 937774996 704209973 893283739 525576539 874938283 762183713 493501277 625521175 337469589 509745783 220808138 753469213 262665403 766299734 677832957 994173763 538540503 347593445 715951630 695770807 348168223 916131045 560669411 123075712 223025727 942749457 504603944 862981989 752161623 472327524 805030682 940324255 194133782 493389587 939570278 347689282 105214933 103751560 687911513 160622806 171264778 995663779 362157041 555613126 148893776 496414490 767675487 948691487 204776714 839516059 558581282 407263296 486781831 580269260 559390635 820436902 921706567 944048423 739737684 658537816 756593048 157438196 788915700 908441475 983042352 441787078 373780284 612835508 493822270 115867284 219583921 765835078 993756934 844425066 751161003 918217140 135513259 862706969 677924347 536044731 647446922 442107110 510479060 465269603 110000428 207353133 412357671 709426997 822250641 430823741 341437367 689499936 975952006 337543835 389695860 748834030 411046460 823666590 396590292 220279714 579511138 500260610 386689387 297707539 834093514 526085119 946730349 961460824 850113595 544979342 756547937 345618563 374432115 904030797 662928859 820923861 490037345 589945052 764199161 930166723 792270480 908584659 964206763 432715952 503908858 542471652 357346803 172466415 197977774 692333658 185932568 588213514 118072641 690503379 176431958 515571936 618809418 617046950 940675400 949913067 337915857 282067040 886804580 205653470 208583131 126277819 427912194 503766230 995277846 998583847 888691325 351903749 528952789 985241537 585695009 868884308 672540826 218943362 439542629 192643662 335020014 480577980 812238495 805280043 394546100 499757580 415827739 463694370 417192766 625211178 733910832 242946068 879382602 782072295 247380688 943258497 593194247 422708617 581381879 919821606 588648872 127267378 904724893 736626138 206016348 220151281 332514564 862927348 246470204 329930310 231391969 279854064 288770237 369116097 525217493 546240703 810388413 682992815 906013529 332722787 110486713 579467413 266315488 887941070 643004074 826514788 533522713 362251544 484908710 665024113 713344810 464678920 599730452 653880853 911452201 297490701 310075280 566703068 106006251 775483894 192385452 262047701 928879260 588746752 512808049 982727686 467997338 126154591 962731247 900658177 131516857 946422950 451527621 472419625 178941677 202799959 433176671 894837596 555158779 954325312 635885529 417696515 127697994 192476666 861862587 295816874 619801131 196939176 720170883 374068533 356904396 411085201 167320973 822254699 603791799 193569816 383056204 199408802 244121650 688880846 180774424 530123738 179439066 791727110 309609058 340815687 614404968 326611144 470430887 259318148 296812406 469477210 107284728 244158297 570977947 714233479 247547794 819905135 644982858 777962184 403047506 325957346 813756901 677319593 774559980 702232473 817248747 593115687 452088659 447333905 961913896 976051432 167436467 498330456 885156864 833011218 237430876 783934929 274886506 900160304 610692912 770415571 193592469 839241567 409969904 343733845 321405061 278478461 766676740 848907933 612770193 214166516 823329528 370984271 915427350 571790189 925270832 345192817 451988827 643404741 969365617 846860373 378212691 940764457 871802666 899466924 463948506 586711732 677181434 573487690 105423828 511912948 789457895 950855917 698517297 736228402 891582763 673652799 382331988 334702206 536056669 435395173 177240920 557339776 707353789 883933249 941416441 480438146 662589630 630459089 282461682 126575993 827332896 926141457 290407866 622315908 269934226 914799339 531881213 182898062 303148858 482417701 920514374 306165898 726679644 170187851 537171245 588869603 107513979 863949503 992943374 536872476 146714554 109227797 965039628 259599604 137844185 734107939 645467163 555538034 532119412 219318271 659066684 723106147 375521199 751164032 189514953 394817150 192748201 789260863 319163238 192217317 460277713 107621567 683952975 380083163 190348497 794676587 648241239 624657016 118492047 833241083 794639326 297922873 359315310 287210119 593470443 595345881 175957901 398923743 140242446 928392966 696773058 259383342 782550759 696247295 458858256 985076534 156041401 860532969 286623740 687713112 319747648 373471680 119223358 674690670 338888689 932557974 858741668 361033831 432037563 263932065 502918878 178014464 967724426 718504123 709071576 313162869 529130753 694301099 480297821 264455447 833208526 544313790 858425296 592461862 285492682 132048871 648068775 422533176 532842500 268652219 846763616 585530572 200477402 407973560 359099932 569216169 898553433 684932316 963044550 933722115 980139269 160845646 745218949 470651291 758533102 891073594 728703162 748170928 628889295 222375169 189046495 738203520 260536621 714849656 473105002 353059909 874880637 509423460 338451152 191661255 564425236 388046143 156843918 430244197 269994244 588210357 890337610 814366514 744875375 253121143 432601582 832941475 673138976 573087272 165273888 844785307 686748110 499176564 907226732 723476297 596940484 784437485 923907859 474455895 258664150 943428029 565713152 737568389 293914562 947579136 251184238 657383383 244191784 510214659 866943731 455388012 938659759 354477802 349496850 475404883 185126305 669058142 932854247 846190508 735900725 758276821 951240277 417387748 298515178 831251763 490783559 383053782 172279441 720351906 974519384 908809128 557862678 400093760 283996881 716285700 356796489 155505549 366606771 657887515 590174886 919290159 581665173 480547649 486738030 380889705 228261431 555163961 455595163 322973096 986531459 608580991 503484505 859994367 446821192 274850960 406235929 986846700 260080147 305481981 114472671 911955811 414460072 679600531 584067441 971586424 767424675 880472364 587226075 894953288 455792455 273446461 247336358 789502201 381456095 226310014 514977520 301496978 783799715 858229652 384371189 838018744 302724694 680273041 138043792 613034785 185985384 294724390 644060210 296281638 392434213 182950482 937253199 660543640 880557842 508549438 851619577 229844117 555516651 102145243 140093666 692690142 891697712 215215854 190843698 572379771 572746648 498864301 333750278 225390571 725495163 729432043 278439423 746574547 880225748 449298256 917635435 336847975 924430127 162066511 137149035 458263740 190368120 403218590 856684598 182577968 397483025 694370770 269778952 718135480 195878355 412852944 532188606 297622036 524928068 411906298 808165702 458815467 441469078 282066296 794229225 993465644 192733662 493214976 504217007 617201487 384273920 868284312 902718039 465607613 907251154 535272642 842795022 196304525 100261847 849955910 398766856 677833865 232995293 349125489 672696203 460274062 774940071 104934271 128968109 281880817 748765802 467936190 269398298 779885988 959756653 606115555 627128213 197731478 135875105 906498901 782435911 916673434 690604333 709606038 113317051 463306732 961246919 125673378 477045977 454547819 875825976 178842645 842218307 376362268 185307336 119752236 823171051 302935860 433400999 221184767 662168298 764196112 217952522 535355152 990055060 521621082 641364811 815658714 184393618 534245507 404832361 882503428 624111089 906663624 434653896 451334037 905239162 149996321 422676258 626930897 155475937 439438484 562628765 643145786 114813506 429043378 624059382 298527998 887192482 663655457 961290727 556464568 937053310 490026564 928886994 965062777 605976849 771944149 184524268 952739066 932201134 808051328 644037914 972326539 711428146 334392898 281975720 581609787 112734653 292820437 647792123 560511489 123262072 686457188 899974082 316693165 690421898 306501129 284993785 868183903 144730626 435536910 230889207 361736838 643469095 965446002 364674329 767464086 476832893 180807621 284623327 173747063 506919760 829927210 956962362 722893033 396581172 285224359 425915438 763637690 892514704 874894152 719642685 981021389 932387242 818089813 148821491 979537391 297788795 396268688 271770937 562343573 634008628 418150921 379345131 111549728 241759137 500421686 781182251 996262216 199812204 678417208 294913615 108408910 326759536 232592091 438687695 661565588 749233321 844595247 430861223 711066488 755622086 491820257 817517676 924056994 489192707 484196123 360713415 670023082 317125147 780746365 858431083 324257142 659540004 313006028 883858430 235992872 855965608 627951766 567637299 131999223 597577632 145881596 939641296 830894301 347762960 884830397 183065158 954542111 710464523 538966798 453980592 783526965 450130749 186341842 933088673 677791625 216831966 146345284 856471208 945215196 811020212 389422129 938505459 531561766 813614651 301741001 986937995 781567246 937712889 536551869 657018909 687880966 409925088 444228340 902194539 597947938 245605867 412004511 364135703 567406312 232444845 772620008 465961898 605029540 186082448 956226457 310762253 886257610 344287696 988337667 441242414 505048211 161741881 796987793 425100428 400758900 655619860 850835731 727769704 657513555 330315541 799009079 892514057 892591674 715010339 659540616 833229454 169221299 384309298 652442121 117298587 752618248 195950685 817730015 195636491 629754621 533733347 119087503 237831015 171709016 616120808 743556557 810361237 329968585 766848337 175908927 510522925 183258459 824187136 705727476 794261703 439698280 134940024 700284716 387135357 742238935 315626122 937732059 720211254 464332434 920548893 262024834 455234560 172835078 846961641 851610760 920873359 621568930 605751801 188448138 908887206 707258593 438848041 467883316 637231409 296875262 338504895 380268643 434167490 295091704 447158349 741265018 542346164 194056714 188707722 629038500 744055606 947113583 711581750 666913324 738556376 454204029 629826893 503526292 661894386 753522051 624214691 651095841 143048128 797406827 116782675 407263345 560541886 221864184 426745707 491109572 843131969 606669276 315019512 586271238 984781068 865660164 149902416 521699020 279046544 319637612 148709304 622530815 880924854 850683907 287881582 957910200 328960868 484374145 576932988 293463306 243623566 734568155 208244171 360705661 653123580 567251205 133071205 646392858 784685748 598478615 704035968 649141811 999472024 794435310 439579907 156304542 102099095 663518883 574144306 885262073 815528403 942576207 260768567 211327967 288609888 399994561 183274481 988225229 265541995 349656767 887105924 363515912 907326502 763607660 490400181 387854010 739069410 735629125 402557286 777658672 227530426 794959960 296057018 799358883 474711179 101936289 819084291 757411378 578284590 403760611 850603863 343317654 226106187 562270209 100817443 949832563 196975539 501136923 342377602 492693294 359155895 360468729 576636935 442258071 159640104 631335094 815653283 825271939 106199468 400128479 539002059 774695655 895082094 388341526 793044426 909002117 172668982 271117419 226938971 628006924 244493534 683792406 303929248 357529786 360583485 427877014 276610614 856305448 196017512 285718356 330345946 511650230 151528454 441550739 539478891 145670901 773829989 399329505 792323485 626809737 734990680 105598399 509066022 685183327 108467778 659687443 709902504 472910511 140663587 461168917 159511397 109968401 168805778 680626972 717171710 570033974 509118244 229479307 589680243 929877360 650490880 199283336 857454925 594408338 604201072 957583740 733281579 263878661 628122689 662910666 527574033 332615331 450644294 743868482 752867132 473958995 100069778 279073199 946155504 200708289 241193424 576155952 631616859 504838133 304008665 446425025 487871830 579126959 181989093 724559954 840880736 662652805 683813106 491089532 627895808 394720229 280317921 867718624 684230322 446656705 582317863 963039485 139795416 437149035 230505660 636566052 356687019 919686845 365720633 649730675 314697004 194206359 216638212 167709479 822080395 268306582 980145814 694895493 935550480 900736978 662017454 472982088 210196123 821420686 902031723 877670154 129855563 574980573 389280914 406624452 650195915 357593527 104475701 574786648 459596437 353520542 304270625 144174573 370874068 750560680 151176380 737219994 193953882 303667384 561290042 360377993 922726551 233940968 222453895 375881315 496200011 376687452 192919383 825857357 931639677 690026494 854842002 888041892 477001402 797859790 224445143 297132480 147704929 348330745 737014824 295549387 239910020 101285123 871820127 750053473 870106534 641421905 751229928 746148483 371761263 342337565 717175849 223673214 595586098 512252120 850047197 265689290 700682019 225375595 882082204 813607609 901777633 718508999 843630778 534300831 213209848 694451110 167063282 830181306 904952171 692244905 469619284 649067136 842612391 245966470 996492518 809730788 518967676 635467208 819768459 123353264 440587299 270629770 405278441 464471067 324540819 996193617 866412657 924576898 587448012 750385510 472238832 755036039 400748926 296871255 355806051 469927654 597865768 218297624 559559389 679739090 486115955 772959867 133953322 752681738 684683570 469377080 660147978 646190961 261302068 770836562 844127528 202046277 379391601 819617666 246594583 458346818 159056114 252917742 132105156 216552158 662707700 952385011 758239466 211262976 201515143 556545226 887534676 896061416 834275084 931391990 846802609 740486188 326517927 714996756 802934480 262440502 672498618 493693579 175745947 918195264 659801464 964337429 997034157 606199420 961570458 184458539 913514284 246282520 477371106 599006315 852864883 834707990 173991060 360247250 103670889 676146097 463438515 524758190 683132099 798947674 118110822 346935496 854341631 142011133 426293195 260220074 733918700 976034264 121622022 338957167 842858422 303126485 522967745 397699029 339954617 648569479 237264158 465363244 724512779 748526341 854291720 767412495 819838164 845037908 664934513 185210063 161081479 419047728 750771566 255090548 153493573 192167463 198399765 761457880 904864247 472121375 397993246 647711675 760939884 661976582 327153633 596372965 499782833 229254669 785409355 931564865 774688135 950907627 265739527 600177622 624246177 200458613 253473976 283894172 708486487 993540913 356153893 624833191 104901197 779085211 263464920 381492833 253888837 389386445 907739021 531702291 190296028 926717116 717993556 504211935 884114589 654055779 704479608 331930563 363508322 167920989 504535931 449484463 970775145 642810072 234827561 667745800 261521295 348598521 994391352 121135846 456037153 480682334 319058393 799304989 268765569 844329721 785126970 487525795 587699465 341578600 936479443 564105741 760297204 196249071 648107247 926271920 208323655 606825378 347175243 203517846 326818221 618508253 289325095 599823955 614336472 191266747 871273771 691775269 706621117 974503371 245443786 916269405 703408469 621580314 994330174 201619243 888052202 261603653 384361657 974749303 829480493 818261408 663668437 409536721 973826231 164062665 795955042 671897115 469425259 674985443 306914527 115317523 528103183 381220184 426110275 331593773 278120955 126953693 990820965 570987733 849854352 372922632 568416531 656017976 618026846 265833100 571497257 377596867 131068991 324919137 513880958 644782361 824113951 279222269 133234227 746540384 400833447 725429720 322960693 210125652 269904671 858358708 413389494 909308513 195758890 477729769 990625343 470861949 981235761 192809511 852651411 627552337 305262669 374871494 937578427 491085364 698522179 900344877 290036816 217150110 552382288 777587677 852553230 177729999 661400136 988327621 448075685 946982970 330010156 855624340 354743256 203332862 807742348 109611436 775553168 127449700 190457956 166597898 864175918 205805832 881603030 412967103 782027882 405039414 962673327 778589159 381386230 429463961 846768969 583425456 834772427 937058775 349994373 696729036 638641584 422407351 554254586 753850542 616776578 735336010 423608512 157670960 302309282 614646466 449670328 328830410 767413016 195017266 218902491 515074527 176229658 280601198 801663799 197138815 587129176 163772108 104226327 776442549 315954786 617873409 793161425 300043545 211087577 957485698 814464642 212856683 900961092 342192597 442015703 775607479 140007663 233364186 380201001 902879003 766586656 318867993 789133508 758800679 388186510 402193046 466479480 988151209 225270865 472686745 924664790 932056691 962663394 808250139 430814619 666856839 122439210 249440403 656211485 580002582 836016452 712671025 717009566 851747323 604560263 439000115 195007827 658919745 198605674 418583816 663511059 622782229 681371643 281171621 588524066 881960238 272155051 737002708 993914366 120012860 548555177 549423387 178476647 304785895 624179260 544894778 337523858 383596842 452963832 344311633 628665321 557400985 713008545 328173930 157520806 419900444 663227310 688995945 825159764 994324181 733462804 359711016 660965564 305858922 569769208 595666307 696432173 954836381 643337926 535505302 116046536 206920447 350651902 717917013 407166078 700400236 259351476 603614187 669165791 243752229 766118684 813142275 926686534 993114469 359971910 204125154 334014245 502216545 622024608 866642989 796049458 733928013 248354418 535961578 778022730 910050972 448779750 232596330 107733058 719272776 609521877 282534342 860122599 324406014 570543688 412223439 725621403 744323348 147543310 561898820 644942037 771160479 480981977 741638570 562775894 436633973 410304395 709845037 718987617 150211196 689199562 751700137 786604125 812206908 130439612 446886709 489691043 814915903 233411479 791652146 261056287 667510965 954065380 670849699 610822794 791538510 312823883 869537264 232311592 895697749 552556173 561326616 693397749 193239285 242463437 923778008 172822855 792639803 778543525 279539162 180399184 655255950 532991467 622622316 475155654 236731720 422166433 549148710 824065497 950723989 186212133 278264117 231823598 447658498 307519181 247998785 128320045 836866519 283873717 854249800 946436006 345534708 534504481 614559430 702697830 882262157 926479590 388237592 198364475 112309571 606764178 853036494 618866766 530933978 127537432 573697089 746955224 222485284 329329335 234957903 628917229 509622378 177611503 834028017 683598074 334906207 977037225 466129271 544781151 309979312 465599524 881809994 126065531 717870525 271558921 998264073 102875814 106447544 873521457 929236343 980686161 528593023 994550621 467178541 935564812 675489323 140816384 499859192 591048632 335293935 257296555 943612715 965322604 751470024 675365418 834332145 942094210 877330068 655881177 949429992 723890054 887084506 272189649 305552546 256544636 858577218 767991170 960081308 970743662 556485719 548840234 596210071 850867811 997021344 843115987 298935180 915920365 511920019 667635567 936335650 425167233 304112103 233062624 145795031 473149780 428475918 257603037 794345531 615981432 586513074 934701362 318708060 536491973 249895683 406852192 801400224 802658907 250513859 762720386 964251661 184222567 309447836 498146676 862582494 548222386 513605656 184448584 117635220 126226484 434503493 765346096 888826747 370194244 374868653 498836386 497372803 636670245 649669282 454221945 822453736 901062992 984450172 276915400 975928753 915433364 615270537 877385020 870239004 907551404 886790249 879198986 434639104 446657358 636661874 378326754 225532861 437506443 261028446 609130699 889300451 106577912 382638746 509337976 161084878 172677994 145259997 405377159 236039011 519876563 591542743 826186383 740618942 549128369 820957691 967972619 992737935 596281858 378520121 915406362 206696528 693315936 536694224 945648584 827898096 283786663 272726468 534851267 991866049 318119012 434329284 346737199 275794601 270239004 315289810 509251566 185921250 636282048 967820459 254429945 149486165 962739052 233429341 538742608 996728368 537728938 438807752 961262668 568214384 505538456 940192992 877929764 836396814 446339817 801202188 927846782 338890616 269958659 809391788 754146857 588948666 857513325 229735600 809478695 691862164 132257247 460767460 802555565 429899369 820714293 678856947 601023940 296482577 542036474 703446726 377525481 194194042 880018273 181798519 373123202 432562407 730827489 393675261 342157365 421214854 407482315 533440484 611756464 987748775 326680641 615726184 703875305 864197375 627936914 885795933 229960800 542260832 701043971 633435188 542840414 595625397 538951690 497689169 798939597 143648048 458749856 763851844 492303806 668722867 428653703 688604959 376420567 659120887 883119533 903127544 598568838 791426553 545351144 148175317 768509697 593194236 105818577 563817338 156211360 268850606 109996498 231599637 915718429 115653298 146523300 635818846 360822348 625338573 816356578 819152793 717002200 169431171 346565244 374084116 679759317 416713827 474468140 293815532 739748786 761022338 434724277 389882464 630589098 241723641 216634063 864683157 187014701 803792141 262534239 912462761 966804309 578790272 141042884 168898037 171051202 825946674 527767553 528017404 285587567 979141089 744463773 475609841 758182829 216808864 258064961 495048407 535772904 114667401 265020867 299373922 174890135 381968059 370721785 737922823 862310805 532341630 860331928 940677956 878896657 601439351 760993286 887925963 712904027 261259130 662550330 692505558 970962351 515900311 916201211 359282604 505945689 295949158 250888528 163954578 222388865 645734029 980640756 846776087 212214339 178604764 257149261 864347762 317101543 108711543 753643429 131055082 874216766 889281715 877871722 832280546 583940276 227613089 901182283 681622017 281185406 502671427 804079812 751841159 158556812 532214280 974765967 119577073 766160976 919394956 534983653 774673148 531423390 450910895 487384038 784789939 322731562 675689961 733241385 752309874 645410761 690926818 861761250 792890266 212918954 797750990 435825633 739114335 121150706 729121714 912550518 306014956 414737266 547412205 768741357 150372904 561619485 719798006 935004590 398318379 729583976 419619083 527609990 591308222 505294426 936374367 696813513 192267953 325906504 689507542 706115656 123861521 407892362 346757786 819266166 613126298 238279723 628750455 195248111 548450337 324464429 856435289 268106583 465560403 855619835 531030055 140741458 904504369 937308554 816640183 105319158 585914822 201923984 111484771 170608013 582388320 315092398 843680187 367956724 605632257 223633985 494454934 156150503 356472417 746647232 138018932 339939444 789529752 693615388 952995471 103980124 875996403 258509131 154004506 973753711 742072983 487170349 660600143 908828892 554187695 744919267 834880644 742573328 194526016 632864156 382506127 982426743 516716820 412004146 412965541 160803918 818679680 156343808 495030799 450159094 307533955 147416379 257991512 217096667 742151925 511730047 699700860 428264403 784052977 803161792 117880704 133539166 304827558 431194102 371877944 890941104 407537594 701468403 945265454 572416828 606893915 845891202 784696227 483615953 650617970 480639272 576636504 312461316 676073071 656013216 325839845 158038757 220303656 966561277 654673149 464504691 371234437 843233475 251949923 464077473 678587339 908467164 631401212 241367273 326948624 939117232 148444043 643654963 928935889 779594159 167458473 313592500 950184991 236457191 132326546 531155770 981308867 892381976 792887411 868511791 133657394 300301587 435449330 422322198 209367420 128726567 794513551 480336339 865190041 461471876 261188740 256301796 372656310 867129585 363896769 653559705 110959062 104724781 916841349 511270472 372377536 864720010 978180100 466063696 566952943 561098677 599157168 190445813 149592990 481225922 180475692 804534575 856956314 412858128 956923847 292302729 984059788 824350391 420965125 872639837 976360857 193123973 517880529 752697150 393196513 174536233 109131388 198044316 107924055 545552851 119599784 535610910 347919811 383599740 637950345 568693542 762991620 370522689 660387518 795147738 262587048 821186552 992951823 468634422 207854391 195324879 812638397 221126713 558363498 357726229 985644764 642221785 974742458 754153737 920633509 218865794 863474840 950849792 945926808 818199086 884087239 386954926 564630235 771080140 753448939 873448078 508090436 243934691 754614072 112199967 327870049 697940478 794136308 394725554 290663955 975519581 978771530 310268095 695604823 457279444 779711861 966223465 208463843 932177065 815954884 933111243 749510287 186365413 338495579 197102051 791351074 289451337 843467929 694746335 857538677 813767868 669047333 488830369 626412575 612869233 423539035 259243975 430465920 585373182 489311967 979502364 712987021 216457018 923536480 531732685 646843143 122649817 161396833 147392664 615724079 515078292 471382564 774380631 935604616 541685011 473932150 435937525 301776215 671607713 687563210 997154564 259605640 345976963 971284424 282759984 853968899 377128261 318426723 945999524 248809786 622008356 716356138 305530660 545743552 533945795 752779510 456091658 124264887 814907354 746250954 841377783 544438842 580012874 711592867 315360861 883574798 295314417 228960284 602209773 705387610 950267533 282136471 581032196 826989785 700252908 737721374 127959887 604244303 690117299 762846901 699155350 303452698 478094732 910337816 149717084 162787632 754557637 264778485 651874334 662191786 731310141 809208566 646431506 494800898 697363434 880290497 834412655 224121462 883540113 169315665 339533698 924198218 595011202 742432440 888294284 481948749 580604306 711556421 160353402 396140666 884302307 846721834 503601055 623375962 653130689 143748795 785607353 675949912 620970956 399065341 622844227 106589535 601627513 856665602 809015185 908514462 371718975 394413560 975318799 263308539 954514226 675509216 501296701 512039548 127878478 994206778 496207430 203195541 353696726 817719540 247621001 157557239 703653343 532393001 182386872 533308309 115603385 297978214 486887319 484031948 257008531 456381018 318768151 510164852 146927038 594116624 174238375 553836870 510108624 691721865 619192081 376505260 996039624 930437206 927107563 562957665 186240184 284930376 294799400 661441541 534018523 183425965 565641847 993545059 780154582 903424695 997460163 743196311 897458994 244799610 368166739 873527205 607736093 441013958 264368208 478113545 624087149 885225507 813942237 177921367 930022682 563466917 750022990 165018026 660797507 495399443 990726002 592641801 258325701 362195281 567973922 171769401 403369577 473952798 356159436 309569270 393412375 738096793 473062825 898291749 708229399 708605771 227262103 358653036 889850766 771892183 185915249 493064422 650835063 126074574 355007393 631394217 245022682 757788917 837478782 212525269 131739156 298058781 772581915 798350010 872083958 576056123 248034950 225722743 994070892 853526251 936972207 787073944 218448915 322530504 904532369 208955749 823743492 991987611 798800337 582897414 394549844 117511398 207329587 772794138 947981221 286759473 502853517 971096628 229369429 108080269 253227172 243987503 316668376 470952153 145311571 590736925 386896442 337654600 651435030 738995746 503448048 642054820 180555737 310674035 738813363 349793584 580596248 915118047 994018601 663958290 782506571 224548185 128580056 229535591 543402233 977794782 883008654 339141374 478610044 824197306 217206649 112798434 354084799 834786956 110501889 557203231 580025927 291386055 672345335 984331113 963944697 959462360 852603506 656988764 102498501 394773519 723845526 445846005 732883499 765582485 176163092 471259694 747206988 586173529 622964765 751359029 910966299 360026379 488723269 744938783 272462614 266497070 827653594 444048004 511537677 810725017 138000174 591672819 576414955 617342316 301882756 524730500 533761498 290528082 356708738 397594493 196354220 393381036 103382049 114288955 564354853 144225457 475218577 760612953 416854074 800600108 525206049 464903623 181507161 812746995 385886657 618780761 114572846 598984508 601218508 908365778 230567519 599047559 429923421 308672356 848059400 167376350 306784748 822088286 806280243 285540947 219831216 145726665 455405211 679055964 527965747 941076611 489574678 312448431 339455865 389675515 870322483 479682959 301776637 878224376 586852269 735189086 587494481 574413047 904364300 519107027 127546251 631341861 457838798 569906613 718090312 537386713 981628301 576348240 603946416 102106610 412518710 448257945 968795034 689261173 855186807 428286754 413382970 389242816 738703781 121004493 348135566 624477534 743258644 674917213 926115004 757558013 950447912 216416011 633852388 726533050 498918059 105912027 871040123 557463850 663672085 879598459 659206037 417751759 174895507 738225310 997884811 779356145 546626751 636218361 781335483 923970302 733786477 539972433 619801216 387312172 853956870 255205395 164918356 278296993 850385145 124628593 764018325 358044105 792322792 464420022 631357125 117591370 229815600 456016942 849762288 343700279 852608796 417506908 242741007 545899461 749817109 156615694 491856546 128621020 983682519 425532345 887008917 657650616 448755811 135172842 947459307 143054490 539338631 548649452 769816896 669937492 314891569 682487519 420550184 123100279 214998357 552372125 560031226 474260352 307458219 757482424 194705174 570612782 119018433 729138497 303490898 476040398 549837383 537140993 914674833 710574507 462583681 478953233 732577138 876320258 343514068 194141577 298051851 418277650 582713625 134663859 531257024 738166068 801530531 125541006 532843919 305903646 893703648 146894346 211101566 213378539 209991842 320023447 291184750 852939027 439012391 498743622 586816006 275624878 478955488 486817025 377570361 899309457 590047578 530869007 146064278 243663525 813123026 168896159 909478532 157752233 106645426 739452865 460815541 392680068 130184149 724889800 378228552 994755279 891378815 878370076 547338314 608834044 155429351 210100728 869510724 451907433 215259549 282866045 639169100 295449804 543222737 525831089 135134224 960341932 490829003 534418054 909174747 976944193 511777917 539655581 795196372 728326540 511046250 250262224 272937795 824615341 269801480 290251277 395649003 866659250 893834941 985140182 326638421 553694523 176679823 659798430 918362279 673377006 852599394 542465392 650726768 171693565 703328016 792681659 657626341 306857994 989211840 986392900 263889975 195674104 535681260 966092756 557635633 789315443 635284068 908455319 983866774 391262161 875925979 265772702 813296114 467420167 960058587 794605002 792533399 336429730 697501009 427904851 688000856 206939613 979173962 155232749 861563779 756110632 589406987 486600784 171814965 386158732 412031111 307728195 455892667 372712355 216538741 974893528 203491605 891703133 616279760 185088000 593392882 595551451 924267857 193998726 599397385 977565823 666234466 484896272 212621025 303014064 156375756 159942943 841529882 752731551 525970613 575631229 625141493 433990295 739255622 792098391 503438260 305782862 468585224 638136140 368704772 929430819 124214467 341931611 749829599 522919545 882811333 615870400 368335511 272350093 468711783 837673906 380130984 945947787 654148632 688864469 908132233 741690009 505726684 121332942 101922029 772125756 195626033 571549385 997006419 752350415 480188627 472160662 102496793 951251067 918733825 663889694 519340187 585710260 333483922 860423002 846687638 580530152 635321297 489839046 765003381 671777300 832249885 652573071 304887867 369237657 110889006 447586677 737729250 688885158 214459198 873346733 477389164 113817144 840766444 972796457 539465510 164683722 570384334 123716823 870267578 990156410 979974447 869818649 863449026 462416771 377842027 639124253 580903262 432083087 318887496 465013563 425396545 689314408 853022671 508954435 446987320 867413344 844313473 165506747 541821216 107740391 389684691 158975253 349397514 820700347 140598835 682143353 867169041 395583081 264442438 609718783 407803890 480990947 724256715 686497445 141746304 887583398 465480123 262600171 899442454 563940170 138708335 424494853 315213754 555356515 963984061 854673954 772491888 365533509 817483455 810063265 708509685 410327587 620350956 674576387 818994174 726485016 248606029 975347538 266157797 856017775 790783569 927328361 753042163 533000199 204740934 322836638 290915158 817914345 842433212 791001487 533806161 691245833 785778377 684711403 545666897 532748339 616433789 445977613 147158180 394037996 446541036 175415224 328795376 400123107 719445613 976322088 727396208 800557054 309471645 473833706 349161971 953702039 111348605 899286370 363050862 331731913 860022693 762871570 278068742 579092501 204250459 813819939 856310001 724511295 224832348 767064486 801727721 705510125 379087032 595068771 211010747 700790578 839072184 163419069 955113288 241897570 545594338 468146961 260852928 984550810 362960679 545921226 473068959 459524159 673108464 137516026 927076904 981037889 120034372 325141394 578325849 986457918 229672427 485621141 891670846 467140390 129359917 727507860 600041585 780303153 562432540 817999424 359303616 839313118 782644684 527949759 392217300 541419153 892182682 807369663 504185772 415455450 293418407 183711801 562025153 435390816 150287601 245660514 606155175 758846422 409344542 217592065 208823920 584589095 653619289 259319430 417477832 632512381 230014264 832023119 835403655 193008281 598298172 961657819 479963844 874692548 307985507 851670825 108420064 389730927 333668947 717877081 345201677 959532140 217350281 246579431 493981252 317655664 490015375 600162205 480280847 612290368 915552317 679479553 792399095 553609576 643031092 132325550 713385605 261189726 720910510 113740618 154873849 445769821 873647702 700883745 634902456 195776011 601202388 269775714 255570785 263810719 291920151 567029385 273222573 159381392 864319642 632675962 253164582 336477651 120523136 881893410 637619755 864632392 396893219 334792925 252063780 603025960 390812538 204258814 300743919 963613333 958433424 182540726 222527140 701230469 427899503 675970452 463708937 914520606 994402927 892124284 442688469 741378428 733300885 412970101 220029765 272166726 391692009 251037913 232548262 767850792 924237333 771508001 465495180 568507347 209823492 708921967 439008851 909056466 884362343 135537882 762697701 302807591 815207922 958114264 494771055 280416576 465389964 190883009 467339852 427834005 155883971 673104241 208644477 768981949 852762418 419137806 168708744 440742494 382909114 312496626 826657245 315732667 561523617 768351718 907024300 277591133 405457472 744473618 312709330 450731478 248265706 324021208 221046460 891709196 676628580 131891698 509810625 122470355 436867814 479853408 222228163 528469524 942767254 700018583 261293044 471422381 953178416 472106181 260944013 751559482 115414285 922741652 613457762 700128893 484867338 158272563 823011785 493285833 471900627 835415399 660063723 996446126 708993532 576417748 627251170 878249860 303692993 926469690 679688036 325551335 946475936 151342192 263999270 230911543 988811072 363019096 792793187 617085444 803821606 942215813 541541743 787285921 765483711 934072296 374704593 469489925 437005227 308847468 429657969 928601355 962407710 340137332 216210263 434202390 356622657 605883964 255594360 648444080 388820726 100977917 630900389 938765672 142584873 190688250 573285442 482996804 743150365 377897023 923422527 171181148 968546680 947157515 795893417 698187193 272599019 529121824 840600692 880210010 975620189 542674285 746080558 624993711 249360606 534999971 601042564 667500876 326911392 410368604 286022935 752182415 810998936 299991330 744111412 358876290 239845342 288146588 193944584 359602734 735223050 945601757 515319818 977752740 208835106 968035988 604690833 556747695 508323350 903254150 232276148 371040514 977231929 693439847 921131650 906585509 181142840 958418299 860982425 599462809 774287735 509745144 600062793 619139177 401217849 774820820 630070238 526439179 804639629 385352606 789781486 474340802 292930359 293682433 802303699 309785020 797606141 752865408 981639657 279826526 911580742 758004055 608726005 695393136 186329062 241605324 593362550 992320926 718264776 736491695 826452040 774841912 507804791 326534247 438049197 265161118 303097990 423086281 374283769 497000588 926734950 403010470 399996393 649938031 303356201 680275282 244802109 870241055 501404575 304715023 727448186 764628411 839679565 772205906 307387856 259975893 933254795 658031176 645758852 507170005 317357894 291409982 832690251 438157137 521489647 927620023 675636801 852366428 504199760 989527060 119592183 402353763 494642003 703181741 343955155 987290997 115003644 116240112 278599324 125071522 518172721 492615142 835066461 346160411 633061929 754723312 266642360 745927847 784442100 300980228 659469985 390830323 938251433 509722747 516006521 303245766 965976639 840273508 655140242 754822857 355563266 699339740 443792064 118183335 198667139 365820945 863064202 366115655 664388381 936573721 948808805 898492477 545919434 617571035 599384230 682426870 134130005 334982437 218718770 901711822 499081171 961643989 701118230 422826848 457813519 983319323 207809625 378822209 345483997 404760065 892966651 967493908 837897467 464747534 320080220 424595818 238844849 418589753 887612066 158569488 369035520 273699196 667959419 191622803 210776079 320337582 246907362 242908097 858652172 485854816 243217429 240565481 608447780 632052536 592452116 637072039 759928828 543195381 424725855 660539618 733261598 994946692 807126093 285113723 351649982 639394124 839666423 555534526 685350580 664445869 733976735 725971687 465241539 287791931 865892145 331641878 909676282 205646973 182685632 479760257 209484559 459135635 846020241 453596947 647335134 564972729 231681846 201222437 139723190 936110769 478075228 239449712 325174581 907762380 688232560 111105840 504951090 589512540 766735626 790708881 455411243 609179022 150233268 651076228 694935298 877298733 850124480 551645258 718308495 643748089 964180442 146562362 678622342 449137112 413262047 971558021 662098582 199178736 747685160 723451540 907436827 208333785 998869258 840605960 377238168 407067619 496369270 657791480 973792056 741806389 317345713 860818012 309772720 123924037 379612085 137546578 360816306 754208820 728205918 144108809 230664399 755475604 567597198 112532355 986533724 286702558 566180637 929092609 406409617 760437651 251611074 707845406 113982336 760965630 737670638 328446909 747933300 183267909 261559675 311116979 247329779 603842760 104673701 803425387 270320934 371072817 575461438 789801346 739205011 218141412 530952042 317859048 387948030 749844044 389194786 533602030 617062502 862466016 594508389 965291724 805109278 475512037 910390858 593649972 770741789 177499155 841819459 777496987 776452016 559953441 744578073 493255442 210196807 813036517 438770556 372488881 290936916 384263217 410072141 714866661 409668118 877359996 760312943 927476793 307609866 973062210 445367001 162326642 818878069 341822887 805186501 954192844 850411033 780932771 203025071 601803803 416910912 388859330 996856607 364652555 428942739 271365258 128180926 161460071 552128128 324568756 906409616 706955851 704211062 564444170 114077353 786397468 311583868 677493478 745181245 429541270 354141649 690318547 753471780 678348766 808180871 795500473 235176914 550701348 912151636 806356444 456111076 919551840 202542689 285038145 839328347 509991229 901470305 734155378 340588169 714857119 702975955 389364798 184360141 355463387 649282013 956411257 341085991 330883400 829576044 271397635 623386422 989525252 676274524 545686707 426431041 815684213 847643896 785158074 554056433 850183067 894934897 118639224 947425298 165906429 719836866 817364883 118412616 954309207 863606215 599617346 732442125 172719499 107833794 564521161 883934719 292982288 573561312 188586809 704327997 448753377 429599009 968832837 553311515 285334384 564953930 846565946 136882397 364092710 392932606 195060594 719468007 717663570 220087635 984614536 291428416 158086466 691565655 371359262 825401118 479450354 628437906 220862542 104218458 495254797 588040496 380491902 371673205 898222083 687736676 527146455 927769019 946701581 418382455 808603678 643936335 588589893 742865678 880570499 735041177 743758540 714662614 588585458 325834950 587754449 580802615 143084971 192869954 325448770 682259842 736050928 364188481 981160229 844207894 706153807 417965157 427376155 858943674 114186289 274731522 736947396 851195964 255334659 847876117 264927825 257007912 934602802 429645835 467441681 955361607 989931994 918333737 582501243 577116723 600460269 321828748 817536248 785412209 399420248 186550187 189822797 275366511 966417784 888164745 854114135 115099019 712071009 225162379 414008679 353297114 939953950 173647546 467677870 663461972 639558044 255770090 813016348 242862020 778088021 633224081 849998387 310384809 681776723 156570390 251397150 849311451 557492379 200170671 663177934 857421446 598652190 327356253 386054122 233659177 371633758 136578620 755531467 341720790 160413153 848991414 196664586 621171555 327119846 145713379 378884429 490326966 534690198 840078581 476596450 398775729 256511990 822011685 958162460 125580809 763746293 521244986 302831486 493053261 530195481 960842851 670049639 269918824 329411860 200554047 347820745 415554112 974852114 425309877 292105118 296151343 556178096 147074092 553885727 744866062 195176415 303484508 465219177 112648120 674602307 198165913 874177848 692961044 850417220 477556504 960169077 233720066 345412029 609604772 823496215 748015819 955797370 456698583 431489489 893658246 555937152 650606099 875372315 589777199 181250313 923144870 760309011 496926521 278098549 862342938 637354163 220966167 253581065 673829931 589525803 198225318 836380572 609531853 736270084 248729954 187517026 409885387 628858531 162383075 897102949 832862579 438415738 389151072 734057845 106274258 798320950 834923152 371610774 144168238 419068239 392390834 279699021 397980778 573760730 761196482 241189936 106737131 539875919 152369899 282937578 407348122 409468633 111814823 611829064 926461717 714545817 746955373 540547100 925952321 711314122 755683565 464893771 628200411 139507435 585876737 859615655 402968147 440374165 863128221 691055575 658573743 870002263 623984964 958479034 436915620 254205536 623906089 738062384 786460234 102398378 197073179 220536879 341493321 210073010 929269603 170584081 183202474 786949506 396631458 550505067 523053094 189789567 290707085 653116523 974522868 374060346 111715818 496849841 560426259 816368383 451338524 546688712 141798146 640409231 101321874 984441757 643605299 984868273 976055952 740250342 767823503 404125717 586883918 437608798 153107167 185364744 691367474 454402865 922568061 639319468 161395028 358905284 865338023 395538208 370617338 754796084 956411832 389219552 786484617 587789374 354671903 316505014 329106836 423456327 221800457 800409764 267669138 891284402 139325844 118913185 354690134 796086930 143690501 477224030 322327524 112142397 691221811 674463302 577994532 515940133 767508827 108103207 884342617 384997793 585812131 984112316 598455419 922571848 312830657 277448682 531298683 626625095 664808242 469956697 364457012 322436954 599061899 971236959 647952580 501250327 546058067 328866189 838240509 393673247 955029618 593106621 400700178 716929380 223034315 330778154 200378235 875806988 218346323 819340122 968808615 720416476 540339350 826306937 990726378 982455747 770056889 185713272 318448557 158280164 526415819 481601934 818999488 331630872 186949106 137166921 404455662 720814628 701445364 613971622 905869313 285118823 788003812 394238103 881504324 808308274 197354915 999189361 247729606 668658348 152161324 483704769 257439057 112533772 362347479 122617813 324510390 937704684 836506548 853255529 814062118 116867325 846265849 650028457 112161512 630650912 833346056 523198450 397731397 499991115 164763717 961958116 297512484 243652492 414927737 252778964 860622047 840197107 300996235 460806607 520940544 500700750 510788918 868440343 869953574 464590445 318034938 267397663 301071635 550004623 301164122 776486897 596958339 370478943 406116892 995305514 851067040 746763085 364847408 793087998 246985037 805132562 649355324 561078663 200009784 467005772 850270095 652090024 794663171 861700445 980435348 310975517 601357708 340724761 307517430 179582002 600071825 596918612 692796506 564938113 205689910 690638250 239297999 306151747 680353085 718457376 197209577 984774463 469952823 375878072 137860460 480909250 341008301 398019113 649078820 503762178 301666528 451900061 742763567 285710719 522810700 963716013 253158525 476872295 167004023 134596586 429455406 728131408 516045636 452553105 307747794 501313716 782537477 343002450 793414647 852930505 955150174 690441756 894970093 534454956 297654949 795952499 308787754 614977869 543507040 595838597 378530134 698204665 492378765 111425073 507346694 876747549 735360219 274263534 340968111 887722807 881932294 183847388 960154387 609902369 161415588 837874782 338625435 788381949 527882912 552196586 243296185 668579997 754286526 503027283 148559924 197605720 915254404 947269862 972309095 430105961 399352158 675887371 533618616 973223339 457353615 519257733 618897824 747481836 356029910 820915712 960093366 639791951 510445853 582673411 334204338 900411730 714555244 207265323 219591109 331420241 748245808 130671322 661064801 921090419 264247583 666122906 817174417 165781340 686755262 994688994 842455305 920996836 849246462 788632239 710831320 463104862 751998849 144139572 556099140 924386274 831833342 654843423 692004487 114552138 438649280 604312517 212283857 887806621 688978848 799543561 623349960 631562253 579213056 981827628 525312134 243152252 609947560 625238724 471658779 162021486 821314067 252116302 770310512 205175963 282095685 217466318 225546616 251994901 653802160 371587116 275488669 754229629 916115717 437684008 137845609 170837058 374396651 146907183 518656621 430148700 378513664 397007839 875369443 206616000 620708198 671162884 491710708 119756334 174730889 830713351 406746162 272131376 986541699 589699210 680517760 325332415 531445863 225098557 138708871 823445339 355450222 215860763 440952417 740913557 145706218 263585616 961430257 582037932 515239701 778793638 985199616 498855718 433269852 815752237 876736587 589570493 760114184 747968522 110274671 702534884 878739861 179175589 977176401 588646989 433126114 816457333 814970566 500183551 446083828 178430042 478972206 251722230 592270650 724298845 484158145 825899452 318095831 534530175 309925274 591027456 633350007 977430783 197861941 851810115 191194581 705796327 769053326 200988130 109022624 738508324 811418751 431487460 162816760 758334483 588600693 682072420 703827735 835147985 120471342 213996525 560485322 689461917 562441104 570380786 869476952 678772204 909332860 782782739 841425288 514852185 749059058 706645503 131400879 357213528 545276852 572970431 897856386 798762046 153463615 565740812 148111400 761957122 545727514 785376677 435095863 189266720 371306983 380101481 534141206 301213712 746302849 233426570 497612590 374773906 513611620 786736013 255861427 548488605 953247697 245014955 672226942 777944822 324892882 935737710 848822942 355320111 377286833 904769353 405048506 665364096 716013325 374511195 814669895 156153030 120790300 615420938 894064170 550626955 202146629 652373805 960465059 555238768 714033976 406278196 895171182 449458973 230855256 102488302 852925813 944152084 435738673 338084690 709504541 611554716 316128107 944062819 482806461 412230195 288058366 141228176 852168311 182491417 500934081 329245154 214104370 641108719 192123298 960488626 805000261 756613066 232516507 190522160 802910819 420202093 521703294 850425417 271554569 323410197 795393387 233953011 923076902 508750834 938719353 356463682 542191116 721372375 580330488 333975044 955398324 715309671 561787072 941703923 233898152 265085158 883675226 552701942 930770017 592158366 632201574 293134439 506357512 418783121 360684824 817365866 616588359 428551684 975641356 942158126 482369257 767436863 965398007 417139027 729664002 835285043 762460532 966317743 559950896 459311803 640363272 718151346 440739630 801837279 317030705 418244860 310201648 603373291 899619516 294371200 604175308 779408453 820555427 575127319 219153714 424746874 957772379 194399847 632851282 460921801 252014899 870976430 138707339 290424077 605922710 510225204 924087170 203674877 404253504 710370911 510253721 813105868 944983405 106236146 844506283 370015467 146278525 517938807 240255475 889366475 131863804 989247150 192141986 248195616 222141605 423268216 812643733 997327698 726981090 408579021 420298286 291381943 878250001 406980472 426818628 919543408 719058124 873026488 506791218 411308252 153471519 567600194 263433692 641519985 993956908 390912218 220354931 745565499 549393147 124917888 666555873 748234236 360414972 186630952 822572109 844265047 914669468 445513413 849386977 446089687 404339663 361954707 931876991 999089157 236838794 892894566 168268900 909886946 549425582 720246332 578696102 721538763 219357578 616214033 943496969 451980711 968109429 477184752 840024375 527994704 926261512 785445683 414724546 197374768 847315593 112358214 136504627 845757984 341736600 247502859 986597911 265658202 975292764 224333118 216184947 399541951 897538611 142478999 399278300 782415426 133737153 881538225 449486157 734145724 743661191 638713482 106277694 989669324 541998517 771206757 264038234 382427187 916893467 909894550 794991486 140184472 135440710 790667287 336751092 571712590 930062127 603186215 142070594 664361615 985960983 617529669 804208401 205079795 703702881 998805114 358043974 817391096 170234633 752479910 943297213 416455778 647731278 429061985 410579528 502707312 558155488 785125826 729282167 284668524 107170015 587695298 999345844 767390269 505705446 900568330 504962955 868685023 304316878 846979303 470016253 981956453 775931218 691988442 326382240 608841801 284000044 674552786 424919873 793428899 932571721 215853144 952749099 209004470 132709836 350828157 537042129 771960519 271954802 704952969 272411311 646364068 999587039 268457443 439450273 881841118 595266380 238045342 661912087 313491356 614771524 573106492 480867707 554323831 189965524 499868020 800054987 280944076 558847855 584673079 782574996 108470573 383444318 689109735 905474158 386127872 781779347 107547214 807708412 362329063 710308911 614813984 213121024 273681873 919829266 582300987 322458416 194358735 570553515 380589287 422963017 718380097 587804592 854500093 624804679 445090169 493692516 844496558 185806851 788493092 570361757 604161529 276376081 114529363 725702521 847230688 564269858 650832502 573830549 419093224 374667351 995091347 915811398 309009602 776451259 301710699 898305651 153927444 331191756 359043419 212997213 559814939 937773722 140386211 679916704 420809348 822072536 102635884 381109238 530949086 787258325 420756730 737636391 861939029 926075497 725943672 738866269 226377769 418862904 709659354 136108999 474564729 662506590 407779492 625535234 986796840 429138904 164034069 702712615 918744639 366584883 212939244 182720977 426819732 115122720 936902782 668472832 942797095 670944902 374617135 184037299 107814862 771710381 468189750 927404524 867226305 951691207 408755331 855750282 424665592 464307000 108264381 601697324 957127354 701523386 656370200 205514762 303984575 400342777 964734925 153695313 187237381 436447862 831021830 470142494 141001801 753370172 654455309 823668668 238643654 285730138 377417614 267558475 605708402 375811506 507271105 600356203 410835185 835970639 901306871 316832352 812802110 534632644 838479628 465293121 208544234 468597827 158859504 687702893 206873509 314542642 158761333 344590943 651054284 268818310 226804425 570557556 799086803 448984288 689754971 910064529 393644512 836554222 896298396 886865562 117441760 325372172 505042354 292688836 783334405 581292624 500964762 758944550 843723565 444015083 738592686 262723412 741198690 725087090 631956360 897419530 669103018 486274931 607729945 490040780 782679460 583247958 604194327 833363421 720016314 696734116 790816535 168966546 110705518 499012034 985871714 703178217 393097927 634896095 477678362 926371652 129467095 837628546 335492664 742100284 342001080 541380666 841118394 841094440 958056512 941774804 283881412 491134490 250405250 299950161 243192734 374826674 129076232 108461202 311180570 610752956 346810259 297489720 813383167 671212880 150897636 879201520 240780782 398708122 402350462 828497772 853516869 139919800 355901771 602460460 234227649 208294032 199857378 625208699 716892776 267399299 894535484 337591032 299530945 337795826 560993211 377801097 568560552 162947649 455926982 321067731 395619985 752581782 723390742 463420238 771312999 582079087 661543121 717631697 330676306 604641095 795510483 768903754 435082499 124648089 304954936 605726056 193694506 634739132 861890070 929913440 592199592 601322762 362528144 377020410 401455381 861196563 712150800 548531682 575872931 529357420 279681790 405483594 287918582 637686090 610716871 742471582 996412628 824479163 574507738 547207591 399989487 365326271 668124496 623359799 947843931 475925316 399571873 865922305 539065953 778672449 180854131 805389557 140536334 712811264 910822761 509548359 967597156 700069118 708538956 501270137 293464913 588068761 143197104 145725432 966533631 242760524 849713028 265827014 191201357 396675170 329603643 570772142 395498140 262328574 624676413 745713741 580483053 987641806 304705648 285941554 779262628 640308184 604286550 966541153 410631931 720751826 285426768 244660198 322537541 218254937 753419259 947982630 827927826 964601584 543854729 477167495 240727094 726757602 678129925 358012959 936039941 453231428 878740032 610228275 699848761 299197626 667722176 775273409 516974620 115053687 912908969 906043833 519665603 344872353 293058999 388751066 841796889 351629441 794294219 264122966 749752916 675590565 315769093 360426888 316781389 591890211 429403391 154374880 844263121 816487734 221014097 400283424 426347795 139823121 649238283 217730381 698658079 851132649 114995351 416933280 743205838 912266622 708844530 546189881 220669697 802802083 127407077 529491839 971837591 431709065 991610212 365585717 113883560 215291416 638636606 616642018 875916093 649780673 168717082 892346237 433708492 883985090 756416152 601567210 418513513 131551133 247955181 908183736 258226439 129548482 423044483 763294577 211530458 921069346 689801072 264871887 684783555 816217392 155751294 769915124 521007636 600703386 743344060 414019951 619908330 697608042 552375971 546864464 902619820 554003920 518920275 880090286 822840669 276298933 360493821 329655234 788445479 855684392 875750876 945621836 763169336 595685806 797027777 992267734 657902680 863849250 594902700 890178547 533035598 921644682 933954427 960523125 494440535 956282761 497161833 633745638 496631678 774766797 504657702 692361439 522992793 412672605 938031949 290469706 468505152 833193214 412001983 704279419 552668226 520735004 899514486 561710757 648764351 838795375 927070908 182957226 812551346 209917409 921695297 542947938 335888584 985320037 759116430 190199740 348724726 617765296 462728250 496347785 746995466 521971076 765217903 885849616 262499755 836210856 618341743 118591799 707778037 746784746 250116155 898830002 300085499 309730588 601456751 791450008 780468384 962960682 922920469 864416847 201189991 794790264 615543071 263625604 455519666 427261774 240230607 102888312 587724174 488856263 945187701 190193955 571800227 716548972 100059883 908050361 114618817 311703695 298327753 732362939 509320645 843188128 294945857 381860149 993394670 172059593 669741959 153593910 284363224 105992760 998727504 545906433 161549475 143498459 699312239 118318450 230991679 497169147 228048883 395715955 674098367 307343117 216503785 321924428 829356163 589534236 379656729 264977075 850175407 934859013 787868627 393026590 296547025 414235854 385477184 833973452 825187612 167519610 489666273 386379891 372316562 483236657 170094316 339281037 517046801 212377044 619751393 987669349 159691804 282293697 132656363 501445915 359248807 563266764 911810020 194078909 295259086 424595370 328016806 705708661 872095549 950330583 446789127 548733947 776569552 245243335 623348346 185022063 833737011 187255881 600163765 856666218 661259084 644449712 164093604 836919717 754159146 721990844 768312321 218654304 539863499 801467946 192495213 144062041 153751612 572677063 402650734 595795043 202636823 643266157 436645275 117152671 871935551 396400471 410521121 978765596 298944792 946379616 288006387 470906465 299430973 655547088 841170270 964638304 351050240 381930175 791079663 895332937 722081950 600925502 745283520 831686536 683067139 835108430 901655234 495608707 226282029 368639693 677784758 250543645 498095003 968296390 984139577 887562048 885837844 499181960 155829211 648320382 177308204 595503083 609476419 920795921 738427647 622825798 236916975 649016812 326656375 442450514 290385372 936774999 974048257 166384913 697333171 332501376 329170725 733239455 526093478 874037802 986866972 787434761 612219337 590149698 893930233 902647139 717676497 595439834 458471060 216575714 566383994 144949850 283797849 293969496 312988354 731780879 415013675 701966984 975069921 970906889 734913424 550511589 959494055 708790973 509249328 359019926 611489498 116882663 409586503 758593407 596521595 559338089 346650928 140159064 295685876 578189760 346961243 645923084 977191474 887427807 524498814 498346811 622171333 721003499 398507669 933905007 110773910 630480997 344121689 590401658 125225114 581776447 373508276 212111895 572195226 203681767 185814459 823974658 745273348 382198245 202972228 305148809 384291711 847190892 183672690 563246849 388853928 522273783 649900666 387362838 547395644 991271671 201989804 207572390 975857268 707554700 764475249 327648084 440834914 946494982 474695061 797066200 378612091 215791440 313063285 148892889 194237719 406783078 589519158 545266304 557531535 587558224 127937806 190077830 472950383 199225340 696495486 527678713 381276950 407956835 807431664 229205349 154136579 824255338 891362403 424909998 424820970 206069979 661096077 961404313 887833486 308233999 891379668 570751265 551795676 239242695 954718818 998355420 597977263 455089073 589404313 229209146 328154595 122711107 995992046 455185357 867075252 849378827 599354236 385295380 193349567 511469805 193930134 774674950 356228109 605816722 939701564 485592253 183590013 149630165 940559871 413519828 147849611 162392132 360282007 992548384 984538477 715339955 837945366 767831105 159378654 190214643 883975855 615909001 861269420 336004952 412036518 982916982 645976349 321201490 543311239 808552263 816400686 358345775 643060080 201746902 668975456 168359702 490102571 670076961 784589679 972091146 386516103 462392846 958511024 432173143 334967431 304925095 572972670 712174490 400781118 178091798 730500318 157253323 986293941 432418921 769378644 337409405 299394252 438508639 266773807 678784810 282310248 671335958 607716683 271828586 168265994 183606893 625082566 723650326 715719631 498025597 914900369 275540284 863230779 205850170 564199665 877570980 199463747 680210574 437194186 422523535 450037430 779337482 151567173 730674646 250768015 396545911 917263837 343952659 849527616 342180114 114169530 871607321 796610345 779479117 816262637 652078930 440024626 418324759 755815237 159733199 479623923 916675231 473192438 759921747 378657923 385780855 500815130 812786490 868877344 617473653 574260548 205561960 437837079 644029746 206733044 946931115 952110224 459115479 488272259 898567858 976913861 788399324 914039210 355993188 743015653 755783927 435066155 592385813 410544351 102018751 361247633 553447795 434726308 670756528 581768957 967984396 905578802 940840325 234991859 277399072 232746190 512909807 522232253 569060063 891907465 937513256 106406172 983337681 791927574 770171718 589438276 726044353 463702865 649097806 769208928 287629986 672827615 624416879 754479835 589017797 209667868 189074916 603491680 939426784 459574894 588111158 204619278 824246296 666006814 689996636 294229019 661193776 906808774 424621572 244192588 247149928 218484963 974040871 103853018 579510228 678024750 825548326 948792090 404955718 997593191 822028188 812205792 388770539 694140977 215336848 207154701 953504819 640855219 256071664 497800645 865251695 157174682 837266189 763768274 179116889 757808305 610747542 712719799 720976737 577182828 451868383 115972653 834851155 539919032 690903299 689069094 712038059 702002583 542308379 457334136 170906237 317216058 123088524 573608465 595007431 592451087 106427343 700445597 539588403 918173878 296501878 605825967 726325355 105434367 383958308 172876921 638621811 863445278 939066932 770344148 380266163 647450960 734349720 464427908 133640113 993369581 171503447 718624156 832123585 879402261 401108375 931042797 533825352 602339347 242467004 332043281 783316247 474021597 203110440 352045433 784973506 197205962 180391011 884879779 124957186 341336745 496003448 841148443 609251288 749154475 176238755 977279837 384512708 497964932 388815593 744648883 324757446 166033389 724868178 330866435 125506078 924926115 697200688 818722897 569524713 932071502 339244473 970191175 919655804 195354633 106845136 811876278 634349086 887179550 673079670 833896504 709819466 675707663 652525774 971251036 888526361 565902859 868223738 616126556 838297611 631351908 850612215 611986796 262449384 583049829 987444141 173390142 624965253 413161554 140535093 400866398 552162819 865726345 401468779 282521265 112901171 540684385 233899886 153631778 904446757 417176910 150650395 915530984 247475724 303276203 517805333 164049733 167684250 433019679 471882229 935002996 415662953 949294539 930073910 638799689 188362642 845005475 584003215 736890633 719092207 916195211 326165829 910697669 591922170 225087464 205456284 954881947 959412043 759234498 447796272 738454448 253935126 519172637 384961194 704497764 740503612 250117064 767982857 387059122 164407606 806677509 962957784 902867714 491872831 330987974 169139487 517123194 898419634 453446469 685247030 370565647 265142396 190702975 613019724 167060570 113217168 409775756 236330766 343617610 233774107 184874698 555573019 311161403 523664308 195067599 256040453 410395448 723460606 199158267 429606386 253562765 358083812 247600457 518600692 779730861 518819421 988963399 202427461 346323486 293268051 562755023 792351427 815244241 536166899 847761245 943904112 452547038 378376226 583343955 868281493 934203171 163536242 623078530 141055388 181774281 540686157 403934066 746360166 745073756 420542313 696912977 962943053 837186023 350075461 988342654 702843049 491002820 765746503 296392220 547978306 531461569 179658814 131174733 565899251 275771838 175751070 490613444 468089438 447864069 803079470 796054576 782724441 184306106 167346609 179066000 540539469 785213977 366662836 368585089 486181618 388474064 667061126 903424516 531924516 254568282 248203682 405679761 839505748 245754829 771770173 683997006 578744507 526854412 908075709 946797301 263129584 863378854 862998444 130324036 983825696 485148155 311062822 815542588 667211306 970077372 244339075 382744798 220252883 677301936 135159789 660962892 774993007 351313155 407914573 336227998 153709686 566317555 704133262 408844024 394120746 637755684 231170513 913475777 629633496 555296303 599725774 453352242 113367474 263060470 952897506 773145903 347306805 955267372 697227779 943734920 276606904 755103217 671181914 756011546 603990182 508727301 713251076 834176577 290800438 821995484 336440294 417917666 834925725 330212689 522670115 405303686 308854586 805296085 386622870 436052628 473304173 395811295 127185130 656412178 392126149 917454118 920349030 284922044 578755527 176960166 564116005 347962027 581222208 183991332 175639872 817911579 905207110 811709019 640813195 914547237 699499279 551705943 767271957 730622824 919706236 296399021 363091719 467243177 606939170 521334196 495461751 792644960 968996045 102148327 898750006 848456313 937624135 678672227 890118032 729328431 652459568 432853804 800144674 365434300 510139103 632394387 752551144 857000339 860514440 328319200 518397030 692558266 756477427 302147870 646200537 713176030 908456462 854732155 395362989 166420049 575644182 373423394 933426411 682828918 332943632 505981202 806131803 216178785 622132956 538299818 949839133 528346068 436882897 480067385 889714965 460719729 541982771 104803156 852138162 508585094 592317887 334275558 765549439 353637617 268314588 483340576 211762260 291528563 579148543 682301550 531313550 257644652 427691676 387284920 123694939 827499470 516675628 536606255 748343558 874514500 501445027 421489773 945465779 526116274 672358243 135077471 453840754 560488621 970754978 828384545 652968388 314266401 550099170 175051985 314166803 718753596 102450125 800154791 291104821 224388957 119660309 797386406 676547145 433041666 745069893 435352492 706503958 428873489 792500000 291568405 407313066 734788877 781637531 946053607 445428423 926904232 478624468 663364550 956426961 141913755 630732341 783348646 409554544 970562962 275433609 919141013 801596684 882884844 730752344 771558752 859297133 644906448 201021643 886820980 969029302 255130632 673021783 499503559 283729715 433499243 721765163 140434971 455091828 211202452 574676086 402561682 947351721 408178287 808458597 496852595 439039807 153519533 475020062 984720494 144719998 284146605 967232174 302650416 460959512 730480029 226743242 263956885 105725528 684177824 277179337 339370740 391838130 888202134 643279101 389319928 807812902 868675318 525596354 584630067 760490150 308385233 534156648 246007917 645289186 656295308 572688997 236375463 164414976 624161858 145816637 289921270 877794398 906095259 796359930 995385609 460370356 617365473 970386030 661211871 442627533 688116726 109396272 467715580 880730020 835327968 282045986 714857006 675663257 657788040 497348122 417017107 444711815 215061362 488123317 419724482 463183335 923294972 852740006 377979318 323686639 491565015 825902679 217670374 789437829 672855529 454676898 198151012 175784791 343842827 774403057 438272422 512575456 116999518 881563288 900738576 746606449 556119104 875495575 604555026 558195445 457456645 779952799 604142234 460869421 662609779 976666975 203232021 951193524 907252752 266732518 657651541 902780973 558596786 403047195 640495928 439044798 518363979 555661445 957679646 339183024 861133504 721260439 792458215 469092103 113387902 104018637 194618055 284981040 469233124 988922066 462084438 215190236 415133212 519782346 818751919 464367778 266301452 737869316 691963044 812543985 126073704 387787549 277273757 632284535 950898516 130359275 295472798 292338578 640998989 671008035 418191223 995491910 254891167 665425513 261655805 425221768 178888933 314487966 352280752 731020310 667477156 828030353 198629026 997388639 399313765 810347269 589085611 348604759 807920522 667910007 702095955 503359858 360615636 571067707 343492318 913925513 337859202 650083297 316268535 337572635 624188053 125114844 200643881 505402639 297766274 714919602 995138999 563615961 188197735 654462028 569373434 275622821 701664381 211967981 976911366 673597195 754383695 620546019 315469502 926944652 269313797 662021120 368507923 646695286 311106570 567774287 139037757 644829667 403863791 948092172 829608989 915879490 304562197 487867042 471768102 299637732 491831166 702176661 522163914 238607460 954589538 359245519 419213330 415022960 222881359 930685144 779153795 853838173 287812671 320511264 535909852 532042349 824628423 138162758 830204316 162637759 254163484 824647512 699578753 675400384 160304915 115289202 956202785 316515577 443716092 366369883 193848410 197216249 752166587 488104561 305313542 582366402 475361210 697104991 746054990 108711147 168622732 197109563 399152767 265678879 450191039 904100356 884949270 469521803 511091190 546955523 165501368 935417818 118614381 417368231 248986900 460739018 461022503 455981228 675486156 837855267 276581036 212103875 764664112 170988759 366762584 169375257 919983952 324826976 969405234 884930114 317843603 706152264 826391937 607161516 552502342 907927502 375927799 218948576 243336195 123059170 151891343 881837403 330160399 214420200 489812254 808970767 110316566 497568385 238375993 820187290 696700575 722171149 996005002 230133695 960336929 916301702 845879644 582835471 279012493 110357823 316892290 697911569 229996171 397018131 612148174 919093110 126029182 539782358 725680357 794818042 152689867 299575230 693210836 300963010 926696371 993359828 151331258 404201164 800359103 839598416 834508302 431416379 964348139 297600284 770480471 208672374 277173089 892848708 207661517 427168747 755601657 511830296 516150350 898399084 342984644 489435580 386135576 782858158 560474824 661692134 961555225 541077014 541208815 502919719 282538985 656765084 156784501 374063133 126887325 823754410 696431383 642613709 778604924 479817500 892416225 946296729 690741008 537252565 913669572 705778061 505364671 226218745 525799915 538326505 432309609 859474892 722593234 803557085 427500018 162090822 584483138 749073277 767029264 547884411 467706355 503501065 140205462 768629693 437963553 604933481 776291067 164491109 471640581 628686371 551807473 483706480 625264739 604512085 612303236 377378123 835241545 641308759 618730054 884777194 740550108 698154263 482099634 197364575 915861862 196028426 980763430 277093700 922795552 347065798 519495355 498839299 880691316 324314325 203569050 238085853 260249423 111781736 609450323 904319848 681077314 248263056 205560177 578786388 407528612 356737301 472216563 248498274 348441385 455625191 886317315 823567657 105876424 430892947 914215082 221753459 788588957 624466145 219926300 726744415 865916362 395010978 424079206 839968306 377152256 917981319 135403607 106033206 510149336 470794402 578492917 756932273 632658774 431235903 257545392 282428865 986469283 919482541 362627126 655643007 376577260 993017395 250335011 599777095 427014729 707638253 150774690 895262358 876937087 974203393 820177594 478402100 664789217 560742606 714479923 523773921 144539212 790762038 614583771 468657860 356844942 243670671 682806854 692232467 959426307 992467223 256948495 553424523 553582301 573025621 812226504 504490421 194773541 988770793 346335467 448274901 434620154 889414160 271517146 952841483 232623487 913904524 988248187 101081961 530631254 303746957 162072157 554959719 267641440 354780637 913825769 671889890 418369541 966038089 414666139 363530807 805935564 490171333 228819129 213624916 901582371 669629194 929968810 387116442 286561622 978344099 279865257 463362691 750330306 306084293 802555306 555764590 811755503 206010266 978688934 344093791 835468016 267291012 383958093 300352776 915514142 473370241 220264603 580023946 170299696 428709700 600702496 700808944 939613190 639603306 342412580 917408966 175350138 262534669 571071872 964111394 399520056 144450364 412607253 826796572 117601308 442305118 625009373 301306869 861485350 598783835 562252210 296205794 165049188 195839160 965365853 600979316 170864719 935707957 477893847 412816105 236369769 963444701 801411077 208543130 637174409 112151367 913764822 290324409 932370555 721589789 783012527 456188146 216237267 626683778 247993453 817831823 562166236 394305611 747837270 598171974 255763946 985603282 513830449 115435914 689913500 937596230 126237251 700915402 113848161 354210280 666257136 651334296 504474439 916795185 277059497 761247396 150657898 334276911 793339005 710997329 616941847 716876111 937401899 218888301 854043508 769703780 754953685 851382643 802390922 356289348 137424374 138463778 245940994 867537597 515340424 750232185 523786059 469711428 604368111 141509945 173163518 342199967 741031229 566092792 508043536 388194729 585990984 507432648 540340314 424590385 801972734 457937662 146226312 536237940 678735209 908201071 311635751 992151298 357735410 597683359 548137334 669803788 265976578 523512553 629846411 623907034 291755300 430482285 229046492 384897516 555423110 656585827 380002433 377175545 940536075 243482371 519536051 221657795 149807176 487757857 178377809 923813279 661917573 823169504 571639364 761975751 720212373 911554468 811825836 329073918 761653278 549164524 473790072 862847127 438831834 212262565 779505058 262416107 674032020 823994911 132963252 192673759 422502495 645706340 143582932 578927072 322487721 644926784 799617863 431048368 746189677 877671441 290206583 783805108 787841342 658687220 222637799 745358928 159913873 118816299 466716804 692678066 811088665 984682268 361787385 848084769 760229535 352857201 830421065 821911021 378957839 439154136 508724442 334978801 715577200 556556381 355873932 566947218 606186234 929383267 106202762 312735925 614416579 848578628 249698378 492043814 452747185 247446392 267382607 739504704 920812669 860596263 608107434 961251113 667567162 968968336 931079521 858126032 595124782 361671707 771264457 261671270 422853685 198400271 410600402 818058758 509350459 259411455 644620519 764913129 944846964 331149949 592854206 631705472 269140575 736095283 259719629 164582384 357642477 413765250 450668815 446349685 189835414 229324109 828984933 785656825 704611094 217208836 193003355 446018811 528445163 335493718 976593126 558685472 375808264 263015914 896161424 740900022 447551691 716698925 104057711 521665981 417111983 738551889 411967902 198158816 167123718 566712544 564286441 413545434 724999117 822233672 415052851 891791303 538092940 309010849 550782452 113935325 754373569 397625632 772806675 489504307 668269755 696906418 762413560 690807186 661109015 344967110 273783944 306160800 421770342 980352373 823498440 428512786 490418999 857376586 722512752 268373342 598130178 965962914 926845556 435402526 124607950 462125351 521782905 678894602 541290539 967610571 337707382 253607230 644376689 762727485 442260617 171408283 969507532 762178270 370055627 206489519 513683194 785192475 390742359 312926067 933864088 415252744 630867242 754478346 991556230 343916235 450574080 413139219 785786895 547101420 296686053 890907848 705820840 775399984 885821866 959902352 450457074 798049610 984955430 680349761 291440822 313486508 784200141 995485741 523502780 587095071 850449660 975743847 460124240 138279956 381540954 124622912 910093690 570970275 794922135 592323401 182097590 112495067 661039891 154672858 807946355 651468809 868192550 371241847 402825360 600028035 235936276 839419514 238245053 198943566 701640102 711568854 182990965 754649790 976289284 698210987 363816232 761215783 210771425 192071521 128385155 179849143 943562608 416508546 702689805 722304611 120317963 770212447 787071875 506118240 544510198 250977982 556459850 203800479 751186545 985361306 520766762 151074536 872604633 975139708 742495338 833479123 950536430 352305083 241892826 320932366 213720566 293715495 439252452 657534733 318123813 882712024 241700436 621873172 909461204 907808306 543523280 525479715 965375287 759648906 419621967 907928822 571130639 323796721 750129863 499508069 420840429 631899913 813957765 901253660 101363395 434909578 979685938 779485902 263207551 955985843 218273494 510197162 514690476 171206080 925399917 994263004 671694748 631531239 179055441 432781478 900301813 732510474 242917441 259886550 375826003 165110746 581379127 712582922 196529577 491817877 101893716 112693164 615936900 892376771 189000005 244159872 355791104 455569571 289222955 529028857 545245713 740062949 258564510 905440980 930278942 365892025 717439834 860330669 198751141 666384255 824917002 543542013 813876958 380045170 672411573 790835218 149178667 811029103 788701597 722635975 381902648 717655787 454661309 619106737 351176320 648840245 960862150 291123198 316581995 632215402 199594155 874157981 941376539 523978966 421759844 187394708 972433329 710659990 705254703 119907019 469812997 550183365 949484231 711955299 858819030 554811201 201179856 233007866 644026809 186855744 786944452 643125192 455381722 123959602 665498252 950282954 652665940 301037452 651794355 983664393 353081547 567699649 128845426 220773097 197307002 627329007 543875151 638279842 678104648 154296365 812357238 796815414 760144632 479950306 409993403 361211101 283250275 435882716 526466910 123725138 868375226 630588377 787589348 305873907 949972092 289239354 769004832 508711395 216347370 837616035 891220854 355847470 795441711 469680450 855839116 730281750 341130396 907001320 210668609 942441912 617826951 967418911 811709492 901462526 340491467 539102489 112317824 795057949 446878697 824092952 553821200 238627528 741375741 185804890 294957478 965276586 468751579 871762449 571215165 327829292 927561948 745927891 594451535 612608994 440201260 260964490 113696935 949288351 829627277 237585945 512106820 671456067 272673470 531605921 137110548 194772957 358729522 562756173 443294698 355288080 725587562 216112791 946835702 526259551 183133392 117762598 602529263 852771990 427114210 884423170 316429475 643379272 826888597 746754799 819558333 103001742 263052088 328883633 596736148 588481881 584725452 403525698 946484452 530925237 681617783 542672843 218797083 897265849 868630310 818352218 174210674 731524861 195220732 430577942 550120148 576079032 318327875 909967918 958915402 245563282 472602877 594201874 909031310 738652866 815714143 454888125 858529912 174463514 237239495 708096688 294999874 473658438 537899577 294218686 552381623 515694235 714937144 307489175 371192039 994076885 197892100 434106281 157827697 294270416 822930786 712812638 657969967 460352184 223380379 943844089 871487466 428402097 320164077 716815919 409413004 405433431 124448850 307341845 777049076 300317538 900208382 652474556 681788666 413340956 484007452 379169804 658526822 574123731 170044006 779452183 383515580 183193506 306374837 228481757 985748457 906971240 881609491 409005716 903212642 716534787 655266010 628251632 816540263 296434537 947221305 264649218 548382506 191894697 427336435 842439064 338221392 256172954 831292973 755885470 558705130 387408395 234651971 669721024 101382392 137315085 629441827 559987109 111840244 151006899 812290340 977798576 783164033 620383548 301323654 659289511 181407986 436462490 466528148 624899328 878977112 134837882 952890771 302621399 442116604 700396658 124664659 559468474 805921083 816780079 737767611 309331426 917949901 874004908 113481651 558569662 252598424 707444798 477413651 330889542 561161004 155049932 584141655 613509037 721928555 488469042 317073200 845227857 694605416 901436768 580587801 963492787 429898273 720464037 275186479 823658578 960447655 871815634 603695441 912896440 409607040 585135663 224372427 944241936 836590278 642098662 512629063 833028319 502849181 871065491 461907563 922076565 434389606 277040629 520416324 528588386 174318939 593782239 989205040 218096512 705812533 124119989 584626289 895063490 276800536 202301958 958023176 398704093 115029243 545733528 994886193 185542186 503854239 433152630 992560900 889161562 959059099 571357453 171388704 730843827 211319186 398708335 512328341 471470343 118354278 624271042 822121130 332548125 664093018 305628749 690329754 935956350 763447285 737124442 593349271 147451082 462399549 725906961 598967076 661151629 957891227 161866858 868497776 760380858 570399566 696639443 894101665 677088483 204143817 278456589 626797002 242189213 986884621 135298682 683669752 181580796 546312799 132628406 792256799 485367811 377133611 686424844 889680779 960911797 652253745 887989001 836387830 318167860 995524292 491077294 614337451 629314717 195594662 433353295 648553319 793269813 226520419 337303234 259042441 917609553 437070556 434199985 645813249 812401047 835698054 985763428 381993938 850573345 370433472 528448582 555647981 833103770 860278203 675845003 657506894 885292883 213070957 970030674 974390441 947257371 220846226 428988210 223810341 733876052 668759081 765279663 218408528 631670080 605325686 484647570 767164480 142222340 728444291 363139975 982511703 964129668 894598288 264458738 742689614 812650381 706832388 393553731 227395972 682908291 809831326 862678748 843949809 191783363 371339694 254927915 405828655 880788379 748571213 664075526 706557788 269073340 930162734 763646334 947807775 800569421 484337232 918832646 928174928 310596089 842534098 532780349 987377174 379119974 184176682 963678446 761809882 770321576 270070912 478635402 258697960 154185354 458749435 513546342 595879755 209771588 116160736 790998236 677230635 713445156 387038329 918334090 338556311 620874856 773493875 700392174 639963264 923105146 848305073 245623313 497828923 336489153 465290851 265162944 933475143 335155002 928668275 115048546 819974203 268811756 524428226 564085223 384343189 166330274 456667261 238619845 993133717 701844721 836489369 303207581 300501145 860507470 371962907 999190605 741038420 922848595 289041996 807610198 240059679 627443735 905822089 727620142 522067267 299868386 583293284 681180566 948632705 603239618 669383170 255757400 564581695 558976356 420677000 590377472 217756228 997672648 234574165 977599968 954083046 625998046 992129091 812404501 414307904 946660470 475396330 854954915 215423399 146354344 619890838 191796542 808223123 693392921 759073257 380917662 986788095 855350773 562918500 527611103 304002038 481512232 497040760 631037629 526679537 694594642 868312492 154954459 199695693 129822975 246857019 760431848 660281750 359259509 599526962 181072795 377341097 518962579 831515748 254905601 147200673 527319668 771866351 311066639 765255579 673553717 583220563 428090291 926783011 393923671 368069807 156731474 588503874 609904306 564851721 518932086 576810165 949165061 621552248 458909780 408368206 844975927 975511994 501867429 744181470 539418782 913558974 998816626 981650829 165923695 108730898 876938365 154057366 769251899 462041975 822676919 258292949 235348674 281879827 674270844 611186617 379725963 400565453 895192805 646991815 951624639 597966875 499403528 649290069 198826574 502341173 270546091 211258467 350852359 824515376 187694180 682380948 547564417 294020274 571550809 247109196 230123678 113386767 190782981 885078353 638992144 689528003 578470461 247150586 443392150 664127932 106256558 713154561 781499983 546582818 990306760 710127657 903611887 417350838 836084395 666236723 947318068 856881221 935205389 944221242 820265101 343439958 270876855 901570489 728856347 561798109 386406195 244364272 638082203 394821175 757995290 164666833 337153352 293593379 198387971 136331762 673977329 122488166 708921345 943084603 463629400 203428920 776642543 290283196 688909992 613652523 952796874 810317734 865883494 793385183 602772100 138874117 935465571 829136760 436452833 424109363 309942598 132411279 400570565 914160940 226872304 993635578 445442456 888191580 914454036 946209916 255820578 556313055 209512760 803702192 239086199 976830444 129657417 113264165 548579835 137027978 998043190 845089520 790067081 404963289 590690053 917272988 751498419 976553380 700168335 653281057 415526513 829402122 441486649 698549181 453112408 426726398 334831630 183982473 946628360 112449074 815368783 986589940 665869536 262180595 952937331 389846732 953620892 818670157 512875754 818489715 453693350 507418673 370222953 503908200 445213604 139443251 518918863 616597554 448458165 640842882 657908462 117135704 312181176 887409733 629856541 926004620 686673088 255347729 805667470 190814220 696281918 359474807 724730290 169439707 241982666 400643048 610611469 622985434 223226650 370330061 553591915 720662212 551787041 172262803 295941231 701547663 673052993 563451491 191910736 625159147 285338897 804103858 311853301 776342654 783724324 704201537 180854791 696677411 338056724 512872048 670305139 111590718 505300705 998043073 770669306 610011362 650886463 102432592 112867902 773465626 406181628 521018059 709499604 114270415 936895520 905435889 283805497 934650943 758939077 929559302 816769794 981188301 850163751 504441101 488903103 386069748 916823557 831029075 673670030 835529177 892873131 871404174 133140374 535905911 316049836 995948617 621992654 238591608 653775008 428738177 127924842 601001698 617654931 166048365 433295390 380053160 225788279 974598152 768990422 402426056 473348345 885144711 985563926 638509066 623548111 795002963 979983045 805599346 949637600 190850270 706885105 471439584 388471298 494599795 924794532 806354070 130648857 527872531 842275983 271443452 395268473 557847557 409601126 836590088 561189564 964400398 992011480 979617388 312545048 156124103 257564406 919952444 395695248 951277412 583032839 359724663 606606972 886067974 670494271 600835763 366181658 888228986 843811851 717941552 987610109 163122092 409323530 147395986 786473527 789680434 439569723 865743770 550837308 260673737 598786306 403258927 390606072 407643162 793058103 721314373 215972623 409895394 979132566 968869615 144857101 211139889 929749508 485916499 541272088 118782152 379403367 746238869 622288596 640066190 307246899 988056874 810861834 559262828 189301002 635564444 528257181 657818001 155792866 847885689 539444385 254723580 888631603 325047934 253928583 592242867 206632773 754032031 778748362 902017624 450567859 887421408 743699947 732305375 725129236 575949924 608729316 781633192 519163415 466390643 752417390 577811778 192331998 426561067 107151497 102114991 675797421 372144888 860285710 765625668 476482018 940076638 685241588 922363096 400784390 497081574 532403099 219132455 183276652 371852905 683438208 631941137 627074690 790122657 635707886 175738698 712301333 242047358 989271197 228379075 478617945 920552455 959936453 467681429 214014592 254987825 797805186 310860500 632245014 535905087 944111354 394931270 592267122 103810918 212835635 214010064 873885957 779001930 437505139 319899112 242157909 459376132 276077496 462488725 102728381 957830885 995152723 693636933 496680869 527875813 443258494 805036576 578992355 695384426 614592907 541961612 855486505 458250078 307553974 485686108 102154379 693382449 797666077 380659635 124167530 932341854 623257077 996944986 532395603 950293137 547303010 532670158 968846651 975042030 255024583 733457693 286774381 801227445 352685653 788031099 244589413 989065001 976454376 795251610 251038912 686748198 697152131 374658301 485098867 359014974 465942879 207502631 407236127 769466321 869291719 906255372 219947282 470093885 293155756 641127384 468531167 899884104 418912974 853912988 814866258 972116240 141460043 364904621 465009137 877954121 428392249 510627659 841362224 423245958 780275386 136872915 866590870 286290521 302625967 400735712 838549863 711735338 482526103 402560171 694145258 442936585 496142806 952106942 686345253 610993157 418195864 738913565 309136891 964373974 551228623 963168150 448173089 315242435 592677613 322277084 955499571 345679451 653077680 647676838 202312592 109481757 561824609 431267720 661827568 455835626 379053843 565875238 758962342 302637082 911046173 654610438 821711666 474783435 951950098 265456509 104458192 103884553 260300309 130031528 532126686 561072488 309442312 654646398 231751256 904979269 652003662 875507098 672341640 823426640 907180126 727224505 108806844 774737659 757399712 607567481 617675737 658913793 788191114 254577047 905859138 363055779 838624237 820674788 945291166 818117867 636722709 139746492 730150606 272993964 625969951 478659373 464750801 985514884 415593101 177508781 112497259 836992429 695837197 494411143 265455954 425235276 839301488 851275720 785901083 987191710 149007366 997480828 452429457 840258487 260114539 171317828 219677985 470626627 239048073 420698032 936569925 631742727 264845389 626791938 214919397 881082805 706871242 982853189 293426987 967387611 148750375 144578351 818421079 315700449 137826059 670930646 335122328 755991976 536142776 968920730 323245999 611813755 370084067 932113237 809938687 856132373 100030735 114018832 868730314 819228004 404601735 798682905 755095559 706740720 642813872 617329629 161735597 317336346 745435025 840456977 829909563 323851919 924670638 780784307 151360958 454554164 251846459 273067764 888076073 188906583 648822043 246481984 666718678 874682349 396398120 197752204 432447787 302250181 365013337 927662379 710207987 585247246 319933280 856912023 274316833 855231319 484397050 761676481 387273752 906261507 590891695 741054733 785343224 196064975 358751321 927190387 992770010 285475528 562283597 790388055 134189905 443866995 483290008 300727866 999791972 317738030 709230599 630408731 523171613 876301821 308418091 189027879 987119781 723136641 381818156 338038910 215508111 384630827 789198055 746825342 111979032 726597155 686203396 278000471 713646254 144765964 227934431 423941755 241375983 464519181 782081893 594890331 386384724 387800721 657293139 993457023 880111285 238662933 145090446 455301810 995549887 246208973 760827003 857176999 480058429 205313101 395158613 729839940 169125748 315502480 927548117 597698781 514132559 157818547 819515363 296178998 623170981 806578644 152965466 665069367 334415394 439425582 932872469 743969465 313873872 626647932 383855205 475880567 201082514 633290451 465130696 140689350 145861274 782379900 500452699 759769061 214551921 454145674 870238568 841446924 912109886 541821448 659401374 219742159 313261797 609462455 855556766 447850410 116157341 145029303 224242374 531835995 249338097 462316135 590433757 766000895 744074760 228885707 738655176 648803185 535859223 433107153 512273967 245139888 561767199 770157345 461246968 114076196 542300570 637663910 259810412 600788156 801322786 871333453 176589384 383177938 897939265 255287985 813081334 978017514 527557734 277756131 248496109 383972123 902909728 236666595 543501270 616806496 456841032 954354074 392732796 606179606 170214228 771722942 596453047 690291788 582959136 694024443 879244649 988484607 581102236 260081136 968792984 480045024 472997987 608328289 587966865 212794485 318055783 658672067 874657456 779821435 910610684 376751192 273813866 443797946 166811848 564128086 400922759 648239601 840730413 277054011 499271088 584027737 392270049 188247066 777348822 788819846 811603787 811270861 133622934 160318057 671652095 779213058 676986472 190338527 257512025 936161473 164043893 253272104 832400629 537415418 707402331 247057758 327993636 252930441 221947743 371158580 134269943 753893863 746959805 378546431 987586275 272087803 891799198 467231646 384283098 130988088 372516207 495062804 516006566 750570593 176367749 686301498 560107212 172186886 719677211 794842291 824576865 155935941 901175087 601234363 959847380 693444507 351915008 828746414 816440062 452545555 890928952 861917959 601904501 820673146 681770576 393525066 726673796 858560452 817094997 524082800 856565438 720496175 137367564 701967976 158155743 162762745 564847022 628985746 304110327 583881917 419691769 724326145 750339555 852301559 142131318 881365777 595912096 803130464 546463848 585854795 585679476 357201469 908233545 290696936 504583369 712708812 843760649 751012762 776721666 582689871 890748580 583613032 977252453 623793040 800839861 605713819 686494796 485303450 392203296 948445006 701097703 193741726 336979755 891094863 228448765 308497793 952732011 487802315 778311060 996215060 350799124 780093035 128797812 409361393 910987598 355110457 857315938 417438968 299289789 234749688 232663527 901418866 382392804 734457928 272897005 281459042 966334643 558840085 929717485 590768448 563741487 596227107 120312178 649565511 831689899 535176890 871657174 875284580 685056197 404440400 169393051 510928091 579302839 639876820 226936384 333697743 804891887 848773968 335848767 495749908 372809999 339461655 914647818 621334013 505769514 677851973 393116668 859631953 552767304 250317918 548552302 246998526 243622173 743105711 861656672 972303767 387763579 772666316 988008437 877022641 751320296 183934059 285642416 304634140 938696891 441335434 172095363 936607891 194826207 385337693 723664540 619834785 953571782 530582275 573008689 858594000 554736057 846173879 293712066 336106149 536971290 509932306 776753289 338060883 436631461 619849456 860265490 433564612 548469679 705956405 217319141 197326492 603013033 290036115 702996686 824873809 854258822 243728923 697822004 494614323 253866906 509099694 289401710 432959515 328893533 421925299 174406172 798051392 758828782 393171548 409522796 605036151 768857589 358882160 989185167 758619941 519426751 206291882 166691234 753098572 590873588 446469135 154661004 753324505 935795183 961147814 653398873 571540119 604398635 977767042 599636441 998448537 922492392 587264502 582323809 871873927 734305464 157915302 999109363 837257127 573903121 601338911 897965709 485068010 657157089 341604506 164945838 427388834 906382753 154624767 635075933 980611371 924042751 125238133 853892055 542153291 175945398 204987947 895989206 957826907 371311853 300431014 906053646 929107589 133032517 327545106 449274535 775801682 184818130 337003287 866672015 372325215 548211395 933259631 808759476 385360568 213251791 560927036 354625795 159091195 974601984 424211321 850732660 525723159 675958770 183540598 279433722 843934129 196151095 529945385 328406140 935651727 528261109 545685842 105244486 429002895 673949905 262257529 655759493 197960276 339438252 754738763 627357299 365244042 204080542 803405580 299644302 207858412 445125863 348674064 948113926 218623197 484493835 160688212 938098108 865393752 218887350 581102551 608222634 115939408 527943542 695180052 721546583 490253819 235972469 536285874 920264671 519104177 541076893 183398629 302075553 151780786 464257517 379890122 984781541 544013473 164454489 498081735 784351643 263712279 577513197 391856733 123627448 280572248 920609434 983106701 542094613 754953567 412475926 145266531 369520927 581573999 794488240 694680222 586675588 681540869 983796925 972847425 983011032 470913979 734847627 391439648 970381871 948417129 914721546 368046705 993851581 752956667 119124355 513475589 852154066 136770238 816755283 638956824 965118577 297374088 659139105 712635513 738460408 205959358 789964994 497426329 899195977 215302000 729255275 811669982 176437512 586735864 268630905 692949579 203691529 635955229 605299735 313726503 878059049 517353369 578238460 248630314 897403574 269856671 365543222 896558607 416283860 917473908 899665117 357138936 728780251 431667088 343249956 189970289 504696828 467056338 878777229 290926696 400010951 625769673 343312423 121217963 759376118 196778875 130695660 307125199 340475067 705402148 390393824 353300766 367796343 586175511 332010540 697786718 679572206 738891915 283641853 373419622 158297041 823710286 778166509 317577737 134463547 883361958 891670743 850533400 490763642 535582965 470527623 836771852 283937761 201196761 449000785 448152989 616262409 698509353 397955043 640862758 827075798 213955372 148671540 554218344 154715563 955435530 851516901 766484558 155511098 578810452 874642621 624669022 368704734 295549358 786709440 980211376 403090220 242952596 544559427 853850162 386196101 457361347 649300330 129082090 373158171 302592266 826878486 926279787 217746084 448559393 709451794 790001946 975398338 101374222 352907425 446440827 552136129 333855012 185820953 355308215 476713128 884843476 543285609 234728698 748697827 192035460 229663877 544942828 550824621 870913747 517831315 541372338 781560582 953050754 386472955 619649473 638070283 480850878 508685746 912480154 699726822 583077251 155518340 306549981 831793803 885806172 505767498 347208850 438103571 418249337 658265857 138726565 681949059 707509037 665735731 341246966 781800330 681717896 996407203 773623129 311737523 337016783 976944679 828624546 604450165 553239039 327152334 468208581 150617579 909127354 536501361 400185406 828185787 545877345 888669974 231568703 478502463 606668182 170690917 492836162 748957484 942250051 351498002 307311910 403413589 907507672 922485322 858399251 559654505 411901066 821176796 807503657 369961517 914099252 395059038 148279029 150771456 891047093 816397633 412308896 618465256 771216596 223298745 385805477 432393895 145082161 314591638 893810811 586877916 577817905 770072757 196169023 997811137 593458855 277140482 857882837 930007596 393538215 385765344 320920891 254777293 586732001 240419981 931481883 709896058 682501109 819133061 750466123 974243232 594580912 349601442 424995955 597618707 319540463 109724722 509742594 483638889 326217241 432124287 451469816 105211520 330462447 887052482 662932743 727408857 468782084 629794594 126860286 857298657 382575536 386474386 809309187 466548339 105527993 191805219 907477506 265362348 971883151 676131725 799728925 605240156 498563818 184717819 522667194 850184008 235986625 498666305 600311856 192755739 302863813 780437192 280024638 376278716 436859554 771107116 291453598 766589124 780316718 539337000 415611951 334180641 884183290 148885095 823326224 550528770 248551863 639374949 151021812 264426280 805198686 247987085 659409907 866657532 229378134 980299770 331615971 441538872 917436601 694276334 834159515 186575540 569710675 321276823 376759737 408962257 236925693 765828984 477737399 836645016 344810753 175597713 826562851 433314474 371305963 180458530 533567021 310192490 485869579 819852007 170492249 402613792 807184369 295281250 432796900 233088739 467473388 174776518 606778555 527563155 695894048 841500906 692150332 589155222 356845845 466734554 645478363 598076735 655380002 836927911 840005548 743841988 943805948 761974979 221490500 842777327 171892524 867015158 258038836 272786525 977497411 583716320 823122053 613623585 284386553 954715657 256848887 604427476 801862329 200430522 338988701 956815090 989510075 978723241 779551615 935833087 421851887 284380897 580919287 560690786 810122892 434134857 961003416 775264008 594070419 258779865 354504142 138459599 535858323 888538469 113379921 756580381 608248818 429068226 266677919 146472124 294870357 150350953 313871973 255706006 947861497 113827545 564762298 909291429 545596885 642788379 484198773 497474715 152191080 782393853 770846363 368394713 266986643 521581795 703197218 885195564 598124865 765960009 344711802 748172898 510784885 110416337 253033885 963448529 676613631 716339066 994136247 377293754 872060498 635267587 286463405 883255663 494653175 912171360 894131667 994396702 273800444 494859490 663728583 792949106 806103304 961988369 967367993 122404470 824430370 917573670 292169787 781628614 274341438 181308090 263456248 897304073 843007703 432993701 311479515 622059287 174173085 787083807 650059785 583731179 957220541 338483534 333132855 253719377 463359685 445881176 938282847 666818006 683732010 847574258 123526175 686309680 853396146 862210971 992058540 981899636 385012751 383880873 522577754 777343568 134911694 136458313 874408118 337622175 610676687 216939809 333542282 494829201 908604892 247669657 547897557 547872716 853938883 154286952 550656834 906397701 962293074 604678033 361350885 112051160 333588334 831611744 469832410 201925448 658982143 652702946 329786311 665116666 993168602 104669808 395704561 155182346 294711572 733062695 748719933 654250221 470964054 956063088 581771186 621461326 576863007 783385385 921563038 119751638 387772392 866645397 612470164 932529643 531133836 243780455 110434808 358445348 395324417 387547757 797828337 578645828 408121871 592866862 459447414 921501353 195790462 453286851 554610319 124888298 953952647 878338643 278376287 121160215 168687466 142535793 652553491 750713748 672735179 451845947 643936632 975715284 780791169 869183611 829817834 628414672 473295257 346307197 925130384 333636080 624230267 407607577 244670513 294270993 308612116 378786996 985300883 903708889 673869397 858845296 472361306 477864950 573996847 134486644 632812102 272467064 381239732 126190146 894382712 607621509 649131573 326194995 807913877 874990326 619807705 439193597 279731650 524671248 965976237 380118049 826457702 125060195 601595136 223691167 519837986 384415670 180727947 568369445 127091469 956057004 880944892 968702847 111617140 196443352 748040936 630554203 303284780 332787485 906255384 516972794 480158872 326368198 879899047 592339654 378557486 243564827 859637993 404530806 131679369 211063919 418514901 405583014 742694622 982885765 855060264 843267468 895020587 132099929 819875454 155426949 823843547 570225354 756893015 185955380 916789915 500853608 821122541 354869708 434678320 978441070 750731687 210115044 316117309 226470228 742689502 221623044 536638402 741644657 781193212 258711603 606563322 283614505 920048074 219181724 310271128 544472396 252059089 681590918 881339680 434285045 794321041 920708785 479415743 204353800 257513455 326155492 382871066 842945199 323996278 123513352 306306995 139092844 517869497 464526858 486687194 515003280 673363768 400633003 488902144 593278812 524210857 332016435 840876706 430270588 686596906 403158301 807013169 101246461 656224678 810038852 469635608 834480469 796576189 314149640 265845965 501888812 427230284 328440153 440279610 140814898 538461596 898740273 830768691 206626394 666823744 486879688 583900568 520147224 959751100 177885334 151844110 816586020 506986113 882626319 288064211 453579383 156775250 949815664 689845366 699577247 668125169 495638925 661568340 227684627 394208360 862506493 344945043 557600152 941399439 995527121 139136529 807728638 285118795 300844486 440983854 548852688 662691301 361252772 668551555 904303710 758446409 615764212 501234015 785577170 295157669 563419528 278371846 260662707 640876137 637437002 619493963 531236323 735927925 252537852 777707804 254210130 804909395 902760295 825144812 652727959 258152416 290570186 840348286 444963213 215861264 869543355 802944402 162951351 273014965 293581044 851933329 306880781 461405375 917002540 740344169 744834893 950909111 666611146 901556628 485441960 606065837 403804100 520698047 195115106 596861217 549753198 912695020 773979420 506595858 638976870 396189039 143031624 219616363 675576199 353761099 454427470 100805784 195722440 705130351 503075057 146964001 170771447 842625436 461340107 418223276 792546207 658336779 705085054 627267679 892505977 737365871 785646650 581279031 940769752 145649650 935832609 767021307 529269883 694485244 587514373 685313045 618347960 394943852 680041314 599828124 262893881 990085855 424093623 943670103 798644338 530924995 941201192 840033521 495911154 894581194 689134406 381773531 781422347 281115913 977280934 992169556 302624125 471896460 215815346 369577264 612344223 643489286 262337317 417336857 517721611 513142996 126155801 248888134 455478176 393968567 346778898 728462849 158314148 935107074 926722868 102829138 919710046 526698146 816069640 720389422 461656279 280979915 408967452 100218232 356587068 160736775 647971830 297567640 304377761 431205484 347090081 796060302 714764941 893577226 219088888 624117918 463415664 617691852 510560209 561215965 437142402 793692215 884391588 756223857 392777499 172514628 990924805 565228332 921001193 858773784 727684021 557136250 587440948 106259619 445103398 171232199 257236816 559907237 481234761 266267025 746836044 553478192 769409969 112437356 755801189 884605569 292316413 390109434 820949419 264690902 740193060 921409465 119785187 890027805 747277467 884330184 619354227 406583072 232080161 637548365 853052149 608578198 660736526 431722281 987761245 338183060 260687253 886718279 274076379 962730508 114201332 866092918 209232048 384655153 861982093 574031632 255911186 786274454 293543719 363596797 778519123 401887782 564268631 879157150 764546458 240182760 377391187 142349542 184864084 286582744 306301238 646906076 569316089 730810199 539950553 231589487 151646801 530285258 480326606 564899720 121963976 628284183 496219254 843168182 993274368 385102943 526120278 135488693 867126852 117989306 382148323 868322210 317300816 599319317 677002227 137834539 395979140 129923776 284981940 885111939 690801806 750316168 355726514 607958703 860986345 705949902 746893447 607321894 597847470 839567635 765674626 243505823 131315038 753591360 490138147 643852817 245026263 784530740 533683780 281561410 317980730 372765501 219039882 321110338 835727242 194282274 437774054 885785505 371200765 990540064 417040713 528656945 398705830 463699341 514432210 736424730 246226861 474368464 475723397 449296056 891013770 221880638 292368006 333197714 271622767 668287077 199127459 220857103 464970426 449125570 512144501 117059387 318018867 590608918 841923913 885046861 998354463 626264159 998578536 142073036 317277702 184282823 287262284 967350209 922482641 707314319 223081743 490198862 925573280 599351177 828668784 588167573 415534495 908530491 994865332 589797428 445140112 270147695 947005701 452426565 947740767 357802302 200436073 630584679 139580711 980940703 830248222 100999689 192712707 129586027 550931122 769907955 330223611 793088458 132148872 960606703 825988256 771799195 682509353 946818190 323491329 574042811 900491430 561483581 994471685 331032332 879062870 588670243 676651261 840237578 870932470 554313552 210838107 342972792 443360263 784830618 935508757 422244432 180816025 771819495 411922043 623765142 738192045 335219609 351165451 869515323 876550489 746454427 354511175 609897953 327282160 650812427 616613513 142208186 963451639 256431786 493943877 899717823 701358326 680653084 545558560 311389235 827350128 462907511 417263001 409435227 341577612 662941208 999595056 912032105 498721643 724129242 604509672 434075838 468347235 187510649 264516205 606062334 982457687 951941306 584681811 872937849 670420937 871765473 969161732 130036284 758006713 368665731 846367554 104904139 371827964 494354913 502396938 205481690 837757423 116938260 289859531 236361500 323505331 191284406 467191878 175076824 210570270 757223692 794255409 824551539 226359511 164170998 455212609 539187319 371902563 817213195 843988653 480731900 684273065 723747592 790554489 342042055 639792511 702791308 289343129 461276181 326356290 443237949 849391178 111160318 348154232 549191780 296440974 426454867 986068246 991669942 439703037 426476061 424391690 632400164 829282743 248714440 658654600 632174022 492515990 628763110 868341116 214362178 504402689 164990334 712659365 331917869 773207203 223515666 344332699 325433085 475699619 214537174 540327480 989557745 679756202 402186935 420935289 617814336 965236666 855986218 634022750 483642361 135494198 995808194 910286108 717174735 307663263 625693197 344761763 346647229 454676052 118281409 785527835 911838307 829434798 653218146 145988121 401978698 481161390 813408128 753801746 116496795 946883362 424949477 426268009 584395175 799441234 210853161 572203237 918508510 945203521 706099088 188510655 350118102 311307720 338666119 966573134 100979095 990453033 578132685 734504594 220109667 243753699 713859991 214165014 287162118 142247224 685338973 309341427 959237014 995195877 478064189 125302650 841163945 707701667 930170711 552221392 597847453 294670109 503691155 857149749 796909042 501369501 243491074 351995576 266144120 129895109 402278025 249284804 653371813 902160898 487731953 648734825 521753186 749443422 536382002 300739358 319154946 321458668 106555013 586813232 176173090 993768245 656797062 194061455 619006940 311400972 566401204 783582121 999017015 688564996 350679994 303438942 915035594 604138824 571500282 209406392 911830195 906944803 432734525 764204341 740461423 660784351 473864547 967299106 629204024 536354885 466000435 686122387 328192665 450327486 345987423 259994834 936737378 806190614 112620799 186956256 203394085 903765345 112990649 775104301 944316849 724610558 793922852 359358686 455504531 231668993 211136141 583833932 530101254 397320939 439506360 857300058 950543754 627125033 654598066 315777749 595230136 321830387 479484077 958794621 146026971 311731051 729218167 378433033 403454734 283954564 810398962 330018181 739336746 282959034 441880442 757303737 106683397 205425034 878869899 802866194 288009121 695607526 473122414 118269839 527662900 143615147 668922483 585807566 763329279 831371269 123313633 768998529 485607208 877498844 701755540 829123833 526469623 746311306 815942524 660885805 683999458 841463815 568779546 861511512 121139483 680101130 411057524 967625174 797630955 240169717 442400078 912148358 675809507 503933544 203250155 304515699 789360716 691755853 447354353 104357201 226256931 906112890 363982182 195512907 229525307 391645714 595565152 441878669 678083397 233459066 288073623 697977564 792540577 563413829 839069888 334850851 729013318 634233659 987630622 700789694 839103917 386451376 181273822 818858659 226011706 952568610 104819867 586676749 749254313 445418499 741175294 503958618 641197268 680726669 147986820 785170305 915569203 349433602 897105132 594698220 450429017 468864171 573776722 115848188 695737149 105989060 685887951 896003383 370802017 763180234 648273018 376016643 909868993 183359845 938213979 601186017 503745330 462605883 188677773 831158405 963512411 922722245 109982773 928673872 358242090 836522826 987382597 622588026 804141539 347600113 620055374 502933570 627974344 409068269 439503387 116414928 227586620 858876124 243905531 503782362 911184964 102836296 674003905 249764385 478308356 350354265 687457500 271594425 535147343 552615846 741301743 287897451 694306814 410989591 213054692 293744941 738347130 472037277 127412384 302758752 122716930 102973349 177202566 947587393 634992239 697063865 887659666 611928252 966818933 358527303 934554242 465086344 209196458 965684158 731226548 619006915 723997705 215295390 683229725 255143077 315404012 678153646 822232293 827784630 836964229 697930133 468430105 381687089 131197824 588024991 925755924 510002068 554204648 767519172 476798239 910685483 630572819 755694293 602098708 889671051 704449659 957861458 323217602 937340037 691996734 462230596 266537071 794439175 166946601 326850564 883279549 734963483 820974361 833534849 124748118 639196849 297248133 952289961 319453234 970831197 950295102 480714926 979171597 192385067 731376994 832272874 343352157 189090454 813171919 995776950 776057250 618219602 181261830 932216633 143624764 729607629 379194495 145526837 961396526 168075813 445084719 308515298 752785559 853464945 607217289 533982131 558925200 841736133 133636154 355484304 505399509 171052052 360160331 361960291 601166071 132187851 400894166 915598885 499618476 172512625 785399662 278957621 123145505 847022332 903407976 444367655 230605289 752705707 296153361 738464589 295917692 705484273 497282580 917138352 747180643 217899403 130653026 601100346 506930225 372347006 870279799 445393962 220331846 159621594 188928275 619642201 135871020 159105907 490191412 112865711 927024063 546532068 913579321 251346658 566878715 556852091 127187176 470260174 907352547 666059854 931265183 922864164 709772416 268017110 744767450 944238538 950184017 637998435 393087183 155914363 793259764 885481850 129565799 409637625 219404545 497532589 109416258 910278710 137237285 796655132 434650910 635104790 753036763 894570478 241383073 540876023 165662093 551220859 740521207 719460121 422385485 740260669 129098211 261710374 128371766 568990398 192373548 326857739 231013398 298964162 444567088 997310575 747444082 239146223 396228668 262695915 468757211 546423602 617968054 195367997 900387402 599434680 797615152 904805533 727794911 848585280 995134133 232821163 569371612 216548033 257070779 755029310 806965173 911608099 557386435 781306587 412882231 776134609 300618759 408167156 896412099 268084269 736368708 504037080 780422089 250972398 836016475 293063604 390977259 475940326 164370244 537927034 910541456 777023475 647536513 480579115 863526195 906588528 435425981 585010697 318726510 762799161 673274371 493494662 796985876 381897265 783078772 601198349 602329726 443013739 333873239 487855758 418391173 651898559 400269333 363544343 343038169 669515959 261704751 402390167 552223648 546157817 963270047 526768504 813151381 880843912 293537655 949921669 280908856 932941857 641091111 104828182 634444016 845670743 243436699 693701831 489565876 698952074 664564005 231497632 722528390 121514182 197135105 359474346 450955491 325222991 583404520 961919113 702766534 924847730 223045924 787511574 787109655 732417643 805063901 136607953 508570081 356397883 153221912 810063589 457353414 139820693 689913442 600897956 737568415 366895240 430631775 154029910 631610947 820733180 921861549 431101352 854173868 914220410 174959355 152337973 385010284 811201592 113922547 325545006 118508732 825839655 555406901 443536149 503302419 951941425 116162480 642302723 306638711 375075465 331249875 773453169 680397424 738285197 408847997 689556914 521149958 418557567 833321026 315616952 756301764 419555243 336633603 516982383 326225088 531471985 152309700 759530834 732890114 734390968 161830620 100943583 651820731 891451603 585166026 279625424 852148992 259951631 886179974 554144959 318700778 372019045 200768006 704137256 719626216 997235942 260591759 714343250 445759796 471333825 358288539 478979272 987481747 970909551 658430610 123233806 322779315 859186777 354213721 553819406 595331686 479478826 899589199 587948904 764917746 388628323 290793766 185227024 212696150 358432484 175494313 337859482 793161646 591550237 389672962 327451865 749843973 770523876 295704701 699763469 186032766 137458728 852740788 209515165 408341571 634895407 709708679 994812911 714060567 973378112 329484377 411450362 842073175 285832715 286220376 412138210 601732503 211258316 962883237 293150745 624332964 655918720 862916699 419727985 759830581 716825328 782996765 553582906 139195663 164768867 803879631 609939725 426908568 823286494 572236596 918069522 271665438 789234067 305648646 243930409 642338113 100944424 184139898 420653316 329979851 381781231 555443437 428159628 958378845 290629046 530728154 881102460 566980469 999796020 541285050 883701547 807742777 528503580 628198890 652055264 120109667 334272555 727004097 379868314 995802656 530241735 419720936 829307222 304470792 735037948 315780485 549553384 464182868 296202934 839512862 410122042 367065383 798190531 490067223 677092163 938220712 490210177 851446543 719590011 654575624 667910044 295778672 460224139 586063747 669282242 745239176 174467805 371184445 906297035 134014394 483406202 613203626 680637421 507596456 379654073 977643512 905109912 131474422 444816481 210019780 642389856 254878425 870659129 948747447 137248261 829530284 283538129 164975116 760300096 691192263 785900223 212883300 236544718 225024653 941574631 299010336 312979669 754001598 197206815 467551438 952992864 691694952 140092204 750357070 743816753 474725086 448063561 127577111 552990332 594193119 844066083 277537048 966554390 684360850 475171163 580781628 673220150 233778942 953693708 358360844 445252247 682879898 377502059 408281263 328593615 907445752 296679553 617169926 234928767 123902611 131039095 864762586 258241470 827565556 342422946 707781012 913545382 185352543 140062212 561862628 233338313 869262682 725588195 747047191 394185161 227479799 877804875 808206138 757288605 778087000 143725023 231654410 330334433 948483677 291897746 331807425 623423933 991344820 282946921 372072042 425628259 375325656 269207518 317709791 960113139 197549387 600280699 110179570 315502359 554174504 940548544 690266997 370121692 677533539 268368632 977273947 322218522 540313580 287822212 292155610 774118001 115731236 474937682 213082029 583457879 700953679 149365113 100780431 691052817 320165294 619193319 236862423 946387399 451738023 842767389 317638666 464905156 116286314 312023811 160897929 287426868 504173714 404073693 226116465 559407285 912965924 785596889 946603124 932954431 554646638 101687254 954630176 395540471 642542817 254857618 577501469 829954585 499088687 263846358 521136690 114454432 158630304 695199518 271273771 672447260 303649542 679949980 968805478 602519223 106249484 950378773 575994593 773412410 470829095 441766262 547920118 372053615 883253107 645502472 454727934 898885022 300400775 147094437 661544524 451869910 818594881 148209311 803471875 194278966 406813041 411056837 107280433 481473778 178844563 108582886 428289085 687784057 768139846 756815585 761922414 347810498 934992683 923814634 677854964 546692884 252542461 212339177 160419557 142228757 768871106 543640542 391441069 434593965 418924207 526323442 676459330 297554549 684982392 266974670 699454017 179091680 283627854 610264965 404885312 455980938 815526660 438298318 518040692 380935197 551991332 269436979 295804131 380171999 698769651 469845455 864941454 141920253 787306396 844692392 796546157 244014307 510520817 826859594 728940848 387589975 994385137 176468613 557525888 606928267 489816212 300660679 500038725 570108283 563768791 978782778 656864557 639139750 136563925 667515579 369206637 630086588 234101778 863595926 525577421 460791819 712109386 977999795 106510124 928726610 680721943 338635757 829246722 216077404 934528166 682963420 248360773 620851313 219765574 309385154 967403056 257338972 311238209 985878046 407317317 667510996 625323887 467248901 783533221 573136000 423480341 138191961 608357235 393516582 488951032 754638691 789809357 689483017 940659482 343210887 236421278 107570309 224829511 484360378 523418432 597187305 172483332 188362430 341038035 138960318 244079281 723448192 867546861 498910648 740299657 748575628 560322471 853989011 911554363 250173797 193944782 644708603 896624960 357648947 273679403 172174763 556439689 872719566 981502820 654776439 418302647 959692946 285085907 527866191 799061672 184118050 210926148 308525391 227251974 519069012 894332502 567095103 408995058 410925037 283936135 910507343 261813314 817810393 424070717 549789280 963258954 802310126 101309774 246615284 563065874 931013178 475771769 954005791 713404682 775245999 944302162 199712952 764076206 570501186 324805931 826471065 889800281 142976250 372007374 818394428 854309011 289009665 388588743 471781969 673546162 831750773 809049860 113309689 822859932 394347943 243877754 958248292 675772570 551214513 130824211 468343823 350740994 731837918 753155192 412582865 602370562 228176793 935701503 327744967 539999171 333866908 955223710 203174573 428559097 629279353 780021249 230287505 412624281 393594298 260922838 806182670 203835212 145714652 559905059 626052664 159760435 361301127 917778288 350734344 448330124 605147564 426225355 835545538 216018288 967018476 929237730 610721017 508546686 642527726 791053293 939435477 600942513 148320205 832738431 411512619 524360843 203010260 532875825 191788612 117279978 901908258 802156958 120709354 747765915 640115588 152492917 277776379 199156365 220632956 222923281 248610843 292217996 860690646 930455747 606128641 401430710 795085724 622081886 127826926 695091109 946330553 989531129 159316136 717953509 229916187 150950345 766832166 497613337 973497109 998979619 605150104 406280159 444849770 768655068 602552884 384414235 530926573 785805951 912287867 593468090 631236949 398791451 825931722 956176874 753531257 787535667 845746411 909210034 879953037 852145553 169647980 115408791 455264524 699908833 558214421 785486658 616777971 643334219 913044182 356677874 505742699 361389331 248536870 150528825 664682622 620344912 678510549 221268647 281587308 513896430 636966555 886773717 586150608 633352281 841903379 720181330 268734835 977583386 749879816 610174600 428514926 807857951 175141861 870924011 872533460 189539464 424303007 667613381 893618121 739999927 765191172 567423210 995130688 210679794 579669747 694650161 845436118 448100730 854164986 927300622 664910530 271789244 774144445 157578202 223194030 847802039 774125752 409574683 163711551 558123576 711538459 614508629 535531112 533955969 831230882 889629504 545125357 429423834 491285366 882367583 435440250 468087707 526222441 464296665 366820955 993774998 818709369 671273094 125227947 837278183 626749883 756570971 257536816 220852256 862616362 225779662 662925294 621087103 582453064 475706676 396241279 411550652 362370972 109743154 199891768 569995200 994420296 552460069 207503952 611775025 690417382 387490789 474699813 420118707 377610509 928740972 955837900 784309520 306533145 942954598 447620707 176168794 962312373 627043612 894530019 318424151 455517069 352422295 917000867 418454459 443060622 126690987 696287570 424842127 106616896 567590024 835752535 259166516 661361323 491623148 147584349 669736155 651151714 900455565 897333646 934663664 568585155 782889061 328974327 276825989 848837344 540147895 757644083 490818528 794683166 516273855 829606680 270595182 801673248 354449914 433541393 206635844 130857011 294147342 468509677 222228601 399823723 745868146 692729401 227894504 369512899 787502405 349222015 904284074 891941183 364806046 385860278 356529384 214160220 155537806 584661181 629972124 229469083 120978404 700823432 123635374 346353934 286719095 704103355 769637919 866365967 500529233 517835711 670054632 569851571 144931252 518233775 550388714 139782589 164692341 982858081 898583677 486732469 505770075 900827766 255898228 625566446 404684086 254568078 501503589 478509224 511520664 591117250 268485417 360763687 649823013 633950691 902710651 805038421 306662707 824305010 577433138 122398676 377754498 453646158 898845580 274856033 630023490 429627161 201403121 685955876 130908118 875275949 148637180 753025134 153956820 148747905 788825014 449113658 208645598 421708755 882891815 688916015 870386187 475005784 294991367 496050954 223059625 224085526 169650617 232106717 761529680 188149822 800507216 620782501 182088667 968203394 275591698 725535641 650992879 247478160 931277048 210456012 941444910 625082776 103798416 257691338 664684183 313190112 103035732 284603159 914732356 500494183 990157822 691609155 217918023 858381649 757862265 602501026 510039782 343878717 881094874 973272269 792663150 829983644 185801626 464804746 203996322 570888026 103677731 989459849 660737376 371194690 320124072 982593514 100717288 611038856 891410793 921409751 490639373 345910053 886338476 615087250 362190722 742573557 332936315 726553977 607813948 362518125 792862280 222854679 264843155 506528499 419448999 709665505 359039185 298040776 773301308 806703463 334808692 187203455 437420036 861650716 144695599 797901889 961218665 839260379 994508198 390415001 323245040 688133676 655610620 396913245 559663683 594633729 758690807 877500572 293684078 769014559 372003297 998312502 357678646 337001219 589758687 848383502 231632767 575831749 670184883 942214624 367743686 441839356 681826588 197108098 837584464 376841954 741790797 219893990 371955953 425286827 784961124 913428493 287163907 297834749 592101319 181381366 901634790 806932185 607984720 963997801 507747380 228683603 689752066 638714060 719686845 721807413 800918975 801505740 895621465 376778444 242511043 834976117 376875147 508878529 454903993 367785675 697209763 651682354 898854811 897201980 722816523 529321964 182085651 822661219 669861737 310596455 644693313 822413134 315608650 530709395 761301369 720461526 475302549 123818350 486013571 743255564 795165108 361542569 164240189 892097913 573566003 310180042 129475755 215329882 187466533 235915498 550905852 997835866 237836020 909437920 562102034 411230985 478594502 169135491 482564114 901998346 412474482 623925962 347196478 388103756 901119949 374275134 677855991 645204136 967035816 999021390 179200147 398284145 753682247 228564539 877357143 315444076 890677847 505556919 788431374 377158732 547760929 217770588 146526928 222503376 546596041 109375369 261821681 329163873 912990465 881001444 882344545 323341697 468997130 465825665 189580493 420667589 414309520 855686302 769732338 426101891 915127326 179173675 251992591 770585975 805361053 972887734 849754514 390522462 984142144 606146536 758837005 514005557 832598018 991959799 736629487 209021398 281306650 722993920 434075431 420468324 314538495 614339079 594867599 600930528 736281288 354367546 329627141 179376023 762254120 897380462 808512315 668525053 680149211 317860492 845231957 404977793 196026432 668743220 789707196 977208672 654838256 388677752 146104968 903488178 573157094 345085375 706105594 800622451 596768421 561928876 375542847 113890031 266795856 448538349 155594935 504405330 536136247 517507645 532697691 151827494 175837837 380727533 656539940 548800131 419263744 816801735 657822183 425603649 586681585 371949642 891023626 619620521 968203995 859237044 754546331 305961128 728316686 286051175 107373405 569619319 825796497 753357700 827612375 103068639 276679083 480289892 431273795 122368306 300336964 552256155 624894052 926732221 523010150 171685309 101890501 671610030 879011190 420397977 654993785 387406325 678502989 683195464 149079308 586583419 728841503 317610962 486664904 554788948 111643051 289683041 460157523 325738040 689596470 779548406 674242945 202427872 732145132 783049858 795749022 313852107 416293609 725940454 668082552 864893116 209575395 914509748 747371995 679264981 702666556 476248157 203408012 545226966 185704475 621987910 456423014 718904852 594101936 623682338 535015378 660766904 563575529 851392724 709580682 695986409 574588223 757894070 159804038 808976995 394949104 186205836 849365121 992038577 970972148 363193765 275071611 892148793 297932417 216323096 586581676 373048009 143984008 208362239 205786640 814238867 756702072 782247475 357968903 115483541 940249943 312548715 344743830 390427503 101200891 898124827 163173920 977931937 918721328 885521369 143122809 733763628 643953516 465940497 339346426 981109597 991558617 145738291 913728706 177665370 618655703 493528955 642131522 662021296 736946981 170368006 115159052 223500076 421365632 815219217 131155189 766311532 927954820 777219238 357297477 754160535 487406836 843469624 391607621 295133046 644107572 476685738 264171329 889664481 927175454 962004168 550105973 887245385 511411899 942390059 421332316 857147801 297399079 623806468 203721304 436322752 660288564 122930703 591901071 118649705 457550121 147737965 551927929 581599531 755635067 307317239 970686990 673251608 698508984 553343060 938537283 789575638 580566173 367844469 267091745 982127608 192275905 633698900 972472849 951545708 416209601 302606784 929645455 506126391 341285872 726651276 409003401 755884653 574667678 417981809 260244553 951138385 711182853 755899922 636539365 941778482 137015802 641231477 835901012 631625537 139424983 609862930 123712248 507749427 433135867 677937225 711828496 845810320 699924646 131661453 569940590 561738733 657949719 399312660 703704922 165069489 607276838 316572265 138218226 380714022 586840068 136603242 804851657 953760180 170205164 522486466 419553356 292598501 732341636 880758244 187321627 454474822 788515649 256171817 354722838 282570201 910625398 918841243 217356360 788026221 253087005 272498297 245616346 148118428 985172667 203041612 458730772 895194205 729647709 230451432 231535189 550272081 513899376 699245399 251384917 253943525 260599175 366821281 932873540 707850898 776710064 937017333 559297150 517740516 548436913 749898452 675054047 753582051 190847405 147165822 549252205 671126386 708011070 503158194 259245252 733658357 474438756 829068562 310183549 686579597 353477571 571877764 834840935 570039650 329694978 966004720 855294287 610124535 690859448 340599100 485273282 378331332 119071566 821509999 501808856 422910555 535449623 178411137 186346996 560945893 305731283 268472266 913699005 906722375 242772546 883354436 311159073 286134588 115982073 902590336 908050072 265928510 203213804 666425170 483331238 723371040 282531506 213092659 418818728 500600630 827539509 475872812 775128276 175664897 148983611 604001702 900973421 896784608 787731633 853089164 978976820 370225525 269748706 317784716 602795071 992700976 313905744 946806070 945781850 264309861 908334987 554327280 961387722 122433913 380859431 638083969 791113728 995289260 672930623 950212236 198424190 381237236 686919241 636790385 665362675 696701144 982107688 422984668 909358888 904255881 222113659 622575386 593472712 600878869 629348636 283968364 584351093 847780946 649385749 298408867 803004604 641861089 199413873 632201110 717976666 689650947 946227504 728583628 375510343 890198352 404380801 562901103 509362105 413103186 880005764 571035297 439896682 615372374 591269786 692784651 947181992 905059784 434980983 868948994 708456470 667766173 312716240 805310982 964575682 107440363 823910336 709602442 367057415 240322124 295138687 991177576 731404010 372089509 598029470 146659860 704397535 446716243 290846468 912432292 987364088 284499564 273178840 819677766 356937317 637503489 998514668 679897600 416700279 819637342 551321571 853651516 848182638 105711612 813333795 914857691 226719594 906899094 730127294 536021450 500785163 454912630 467146460 335113135 808618408 544938941 826965165 187726755 973213492 501130349 933928506 572398337 834287828 317638548 650568075 876402407 765513741 763561428 316259191 332228110 784381660 328146377 528282804 351543577 424356949 740481510 479973843 360806633 867073217 622035746 517484824 400519103 685279901 129842852 452869974 349613811 552576905 357775257 568615780 858007771 194184029 949525660 574941540 499518834 408528145 318213478 196131210 388818573 454838378 909715951 911428524 853048406 770958710 668522024 423247367 138716594 773146492 560641165 234862309 218139310 272293063 407003700 882863457 540288386 961467500 603824437 958245992 729609455 848958149 368788565 277767749 221272766 901247882 847671856 241806135 139202592 595100192 384832217 810986850 235917488 748810047 250807641 892729573 938400844 756007254 291673431 158608204 737817505 872560831 842789803 869430609 297326818 552367394 699093381 345104309 945217935 105794710 560937890 129875863 801321463 676235301 682239352 940218332 315281259 841937611 428206421 827913642 235513790 355240453 984100167 648574361 503770152 270445777 734097791 501951589 314248548 849449218 573816683 235210848 286832691 617068830 959095265 831833612 945545367 188428082 968791386 965011530 142719387 669537618 938636243 598444323 725776568 846645972 573723554 405313296 524885560 534256001 156707281 504892494 379373485 362086711 586042893 482862070 906422111 165853956 183454636 785315747 506828687 722819287 240372179 729702313 904615609 295821166 380020425 641729522 630191537 403744328 890893692 697471524 834082416 986209479 406054245 210546362 624704194 635669737 858650825 737609905 653806394 414841985 688411350 922806452 151099700 859618232 941566825 285670194 389509436 371420672 111900675 937857355 770840751 992035733 532931116 297459111 377423862 106425751 127977995 118131570 609452659 669272004 491433442 930106338 344045677 597350436 501482052 936051343 856885855 188495345 334985410 982365378 243955630 755036986 717675064 126751049 850756297 394306598 756940996 620868300 243743097 173361207 436690055 476776280 285412263 452973538 135431061 685483166 907447342 460711480 512254043 582498461 444116965 752515689 591729246 513538538 573829366 850973017 835910022 117028849 102965110 303754964 533871776 130019801 349490093 716084399 519622243 251292898 205392036 164538856 252706297 949239470 320968038 264114740 449216529 765239437 204418749 196332849 573319540 122886726 533094368 414328004 131886809 518783165 220095064 400292148 364552655 143581739 536711110 260724065 993649417 139811776 969338197 902384740 961549756 383585954 806910276 363294574 578271231 127726946 702942267 580086925 891660278 926884738 813144824 147639110 842910785 166326613 274060181 859135945 144789749 746231383 813098187 671406421 461743050 102135800 595907957 106897480 770488734 326385034 796032446 625663637 513368688 539730876 543870797 844309813 784959230 601100024 116901373 485090124 905674228 821155136 555653504 802191553 608673219 480716731 418009574 401941288 115622842 749456631 756914334 267513743 226501372 419483000 424770918 452142523 313932620 861607455 321278863 129067701 434583767 734157933 743691419 405251294 906988281 440227070 310679809 249255987 604999225 583491666 408196726 371215710 751492999 925400056 323470803 360491865 193306494 609519138 355285420 484821039 392935564 560157539 326627877 965317432 254417159 689896383 738770869 384637546 316851254 589924787 586998920 965413865 611000733 587890097 422701529 328333346 584109933 152203890 318193731 534391304 387077564 459674074 847336923 677903454 352307022 867410171 705801870 876010348 170027789 430347150 910210751 844073453 351880447 350930081 778728342 114265609 790464620 495249769 646449670 308159283 437536041 210024001 217906576 985278211 523334970 614556173 569629639 548724543 551883716 105352566 599792861 473021692 253397736 783753223 778095926 514945581 247047628 961185568 286237815 581535711 486687894 160281829 185051688 715822213 987966123 984766956 435452688 333823899 392005142 296045852 145510728 816512471 747888272 440634135 371600476 222164353 136481066 414709973 100723410 203419336 474361518 210274652 296126410 372665765 502240574 887544006 845612068 423679768 965841590 285018794 790568210 432641097 614041037 875174158 763586901 153749896 278529074 916792256 584100497 761816653 230124818 495189375 909896227 903185589 446203188 667117508 459336917 137472988 415277497 111203279 667545974 980993511 118861021 215419553 646282688 942990169 300278553 343276744 301311454 408253101 529521403 697813961 249676451 383875626 933495442 207700089 577269308 640251181 585340498 867512420 594582981 695409625 917639338 350783547 686336717 665185817 206016509 774855910 433474754 397254554 184728696 195823463 643829597 411913053 859510503 993267627 816718310 756408563 701830036 450616057 702978477 875623942 562529360 753557383 102599285 895476139 895546263 349919079 576744449 867514750 947050208 773056863 978732736 764164785 936624507 184916499 544933013 200092306 868540998 103790364 127777462 753797595 496714270 630340229 910203545 101357420 203831367 406884235 614083745 680438607 264058926 147039432 612745151 523011405 461405853 678854924 448154197 695286333 568367546 662120783 398837922 828196271 459384468 364664194 443153773 679985338 232771566 665912050 216316855 440159453 748873634 972567623 600666726 113419064 239157743 327269130 355042805 590058396 401343099 111649864 801808920 461885097 517004892 475074660 585516822 902334539 723994128 814567027 137107789 869921493 247397970 938253271 704225192 301183608 143429933 477835453 114782210 137612276 457988413 999640347 180216272 919900149 789273573 736111785 321267772 361867167 623216007 233819331 378501058 186674461 843779691 557492031 445879526 463880260 848137869 995809756 833212440 899497744 918277988 274695118 618421069 400698353 729545246 310086413 321633171 205738784 503422449 309311804 119725569 756083372 614355766 898571865 208474691 446620566 519626056 853585278 193635195 606598723 842425754 718138731 614315962 929455374 759322693 386685759 285203034 620973704 986383352 720075703 438802701 628299970 227887236 219836917 715117137 957177514 226602008 807158499 634734052 479575468 702441384 835566965 702588200 950934834 972767400 253361481 227250191 636604613 891415254 235168818 561826057 222662236 251828360 599004989 322673640 353917567 990785464 648528585 526708515 423091105 362239584 327338490 943435674 209370735 563197897 572258354 808133121 919098247 249166233 695165005 489117073 144645738 874355674 361997667 239436476 753528614 255568593 823557837 712739383 435249563 355941326 232431424 770180393 902663001 456110012 380020055 948345993 280775335 775474318 142884309 591275339 631842392 858053787 763609119 751135757 810898228 195569680 231988233 561411884 704046799 815850144 394718328 626100745 705697808 976732291 976295651 978457613 584079793 676152926 827040049 504529479 150595482 667271292 211099644 173776425 107052133 783344482 296122831 947304245 371272621 709377715 712726316 775083940 990469702 579030493 428936821 688011244 920254426 578539061 235704636 868524149 815380476 311111866 725971821 254403600 609927015 970962015 812431477 640104922 128344533 244486073 246650923 455202069 984252520 954320315 677482252 375126921 952773959 417324564 472875186 454195444 927180469 799208846 424534294 142839739 400620125 982174379 400832018 878336425 912264421 234007838 149145936 901443847 962108714 975159232 372745962 502984188 535019236 622086301 112091086 366718984 185035023 678784542 316502322 271226414 117635094 170299506 638042711 955114632 236390644 978238917 429581598 476382073 228930348 542419173 927088509 346484560 603200477 973664707 473388676 631200881 418453862 569129746 862850181 744727145 851008475 284666779 995332125 486853389 798025897 141693242 596446840 305573932 296387333 655230780 983618771 836573955 249922752 980244737 613857095 845366510 395287855 354654104 339777721 345494694 653186907 210639835 824555615 726207778 754800645 609880093 784537411 627105896 757711632 276870902 704347538 454003811 749144675 231788413 526439007 767324800 948888986 815285662 811293390 129028597 423494418 992487519 734576551 186562376 450545292 107809419 804393535 629020329 547798874 736896205 623835730 624291494 107849940 244865370 740665034 509753126 801936253 940893050 698982326 618985649 279647508 963787565 154379917 760309385 785324764 187021771 831668476 595318532 262217092 123843678 416294533 415294602 335409739 415031108 344803699 503552056 956433056 649159419 341128738 384704513 974191681 635836085 351338565 505506160 848003134 366713681 372767008 812604129 715586327 262270740 958339466 394643650 504494537 298159149 931651685 799860197 733099387 139538593 175193679 985983491 906373105 102591614 171206478 629428904 915879089 719014922 837693547 133429479 459803078 466584739 380043793 457135938 609121024 915921610 779805382 879548825 981168666 547719994 610365193 673445083 175950273 784181953 258215221 385283821 209106050 416532081 978404129 822315175 923108106 968911954 331809159 556142738 929491311 305199916 942877847 391281956 640001103 751526545 362997902 275544745 701479733 440477403 531180212 185175908 473014640 603071774 699705153 202331957 869260892 574853547 288348984 593028767 872859639 942864124 720853306 233705874 195574387 517972924 170679125 599594307 973752124 762938117 484007782 952795667 502952657 544322582 867933413 474342893 607746647 859773663 300131904 258008100 644785315 878390669 867813250 989526939 305989550 771588807 250673596 902506752 898163100 835635906 972575345 519238280 851753325 686352970 204410256 608595333 693429106 948480538 663282538 589150845 775998783 556889314 288287572 761569670 881035749 855449681 638396091 215950208 455498895 198636142 879206556 202491329 321188626 534819801 564117140 983689751 789899102 533500860 873560337 756699408 931632294 777521883 467734696 363168886 159078950 726338101 573601562 225523174 952792505 655326942 847343105 178889077 943082051 367536800 822627795 787827597 865725502 541651770 238381405 602141883 496883608 958895359 413426762 231344558 239773916 484306096 897404348 629086121 485802068 692423856 606442939 200577663 364253294 155788038 193693046 126729718 931661091 621936428 642726230 453448622 916254662 797458745 204892363 190725633 854596462 852606520 807429351 877562523 213659369 149875509 514693404 500374584 128173445 683748627 920850104 256735465 869043647 766730600 839670703 603476013 316052797 672162263 275455843 358720651 612097018 647170328 300668790 201349307 987469072 829546929 853723302 901592897 119017887 352919607 815270734 699517990 987169834 824222441 396805338 589265507 975323569 197835438 321960536 414903772 990451634 257879929 690910765 172318558 668796461 604986274 257456968 216822331 967267587 166641308 760159253 249549646 681598421 226845789 476596810 873068761 375826605 657630359 102474278 595296866 171286070 773066152 391954286 581615381 780688892 419630194 875460969 535677439 530715645 249960190 447111461 114120788 935381344 725077413 135648323 136139118 312640508 261162856 401115776 784014532 199579222 447174360 328182544 814372198 593165549 274282969 703015833 865438607 449151819 810328752 511799493 146693597 893610661 460520406 705162012 977557156 406578632 284793554 952738646 114946232 386278187 934945086 254959809 412997867 755271760 937868167 495390286 387914910 254374143 249912553 780235896 653176474 227848500 195772478 905276467 463400276 614002803 384726332 451541400 901595790 287277114 298430648 215597507 701849659 181105406 464473109 429573745 672443958 816928972 306336309 251333825 241210179 573331582 189124407 292477110 921758618 992661930 599096709 998466905 966819688 497417642 493531836 215302517 889181681 765842958 829034463 138950249 325374129 647217249 982457081 424305691 585520821 956746093 890024158 129463804 892033071 495776150 606308215 842500117 248920065 541490461 807581845 934667695 265240847 452041280 866713096 906459487 135356593 278074563 544887369 368473101 515944974 930925593 818228150 125941458 346152505 265562704 350860998 937224475 472623868 389079201 326419133 239162515 621098590 119209561 929526758 230523705 726597876 107850210 309032096 319272536 989631632 887576913 168051911 325871344 954250448 202817000 365326382 853659014 511139468 628808240 886294830 123141885 555515416 234896467 486316365 744972799 643664492 472310290 802710802 947294260 241976971 374314051 981217423 154203290 549184200 621367608 188787240 585511201 360175940 324537700 998460737 762058297 176750584 890142721 868353394 921163385 343179875 990744556 498991671 784324522 628535618 370767352 324740952 392021104 683520419 956995570 468901332 898867864 431458311 370950616 206221924 911004270 357164849 115133377 532881350 822793212 207751176 813081622 653918414 653387732 466533760 560830929 500074994 347955321 180437813 963636591 432562435 763090852 181932143 859362738 651209399 113551187 469794785 782997581 589835171 406107158 816732395 506773466 478423730 908284127 144687567 665794939 846795497 496216670 605162196 227975328 749725605 541671381 401154408 902813640 953513698 312317950 844922864 174822953 933273734 323681375 251432997 624537640 450602682 841186378 324267070 159794126 403773605 845155063 724242804 783837989 290866005 978668778 806785924 836795411 208768687 555325419 166729372 883844592 576681593 823569789 783308213 781398589 632239516 618430079 359829458 997770562 556370963 242883900 724204923 646294204 588824482 116062171 802905689 926209631 247793806 279481501 550974234 638286711 238679982 123618061 591530779 774730265 973172897 578580056 245240808 514728089 579079609 236781610 328246629 170975680 724175414 609912333 511046469 590248834 602664226 940948290 228206443 312901424 452790736 236409842 879195526 920195095 363450291 614000136 137547876 501917312 266519188 483283940 571210759 149897163 833197383 636307135 963381297 813550878 652638233 225139283 174179636 139393230 617681274 354274166 978861469 368816697 664882884 880690168 616482064 726422369 839335020 885482037 739158072 999396812 600770389 947253949 912003421 616953431 645344964 618398460 895299169 333806550 991959960 140309124 832854339 447933828 197453719 460735943 442761455 449457972 132523751 619516291 716883269 870968663 176800470 751195143 807550924 520549744 201069975 334713913 693864770 920343486 785663102 766415972 334011132 724592940 226607455 493345905 150521644 418596371 499635384 200168877 818046003 193642471 470992495 123642997 326972373 201946467 997048703 260925599 132939975 447098995 335584883 179905014 257783256 293162030 790876670 528842015 436452055 878532784 714000036 852239256 361152492 170525547 268177243 182714019 822722132 213290999 923898083 789450833 615771714 872123764 965863517 307139532 622959266 547367960 325102524 373845774 298524391 282064476 582852517 607224608 777616790 745418575 320557747 453566240 365350105 713564996 201796963 236061444 800923894 239094556 372653637 247014103 341455397 578098604 439631451 869949151 572068512 195087311 923118373 358598038 403395261 444231300 303115015 349881328 649717694 783498190 565452474 927150347 989989788 708806911 459738660 342024462 847325128 836122879 357334315 895373186 491549783 835166145 558294130 635783251 840221218 404413557 508197582 965396540 959381148 688844918 820308801 870060851 115846602 303053308 911479901 299470827 531216794 403727295 778261528 977693304 794686886 387033975 961981099 559161108 358305518 661481172 724169843 585207688 105827718 213624629 360404262 288439761 272123983 927988832 655077147 974084453 891928386 531308018 847142075 965943214 259287379 792847022 834517003 612056612 482598276 869912882 679725193 308626900 683128689 502621939 930017574 808620296 665929930 510118825 353787512 559970752 713810524 134128807 206564727 925475879 121754477 637206781 342796227 409846219 661347639 180822648 901683601 844445047 298933799 654709946 264853160 514220815 150097290 731698551 877881507 882118801 413496630 860049967 608611024 653746611 706631636 439139474 484724088 303060635 706118446 496351442 950427928 408881071 876718864 449782636 499544647 160677301 491184227 273557145 830115065 417895188 395932539 370959918 857303722 633926700 328999850 497717954 946251122 261291396 682841558 926769160 511578550 714820465 140571282 122669701 173862825 626875332 376922522 937704383 334777186 739527079 270051725 731616714 560905995 533972744 883490205 560603858 890262357 664320788 871790904 945036494 578805254 821390130 764609542 804659180 173643528 680018136 564737895 931879665 630360573 683468827 136184490 213579745 473819567 519794552 220418414 782718615 598908929 119949904 271926365 870067878 326870477 915418894 617299465 195185771 473259308 303925108 940647929 149319242 849113314 873575400 467818636 311371792 694494624 531213518 706534910 390811330 196099293 864585376 613839016 151189846 469528954 389420980 850151462 580160221 527964141 626452779 383709711 535510015 986201075 725336240 768958130 853845534 622948026 977416360 923469966 511372707 330844984 683279466 937285395 863860969 249244497 796494883 928550098 656606582 944399327 215610238 696796382 278227132 136789505 409399407 652928895 667673836 345637103 198807442 777152338 428112806 609682264 276528956 649220464 509726120 401768916 782738899 397622968 939617372 387343593 476509581 320148097 758649458 143701806 400674715 405917607 747897002 658020208 343033522 773615311 833663886 997799250 464208870 705660903 595975748 331914855 496452529 824279842 545428786 718049777 282609817 613430720 190112724 778099141 906781340 664376156 867901878 994097442 521901730 753577027 414049308 441875167 855376796 323916648 683041696 463256412 407940800 921369255 646000908 149120491 387702449 258087773 435749582 436442141 875502186 291391593 361301729 174179128 579033036 119899898 129956141 903871031 463901117 360879021 274626196 140548433 355531006 863471879 445366616 348036326 736681842 210340284 994026803 977798349 739467884 880700259 868838783 584822577 530858532 395375436 503913926 126580873 284284808 609859533 699451079 287331286 343654292 725469079 634989613 582115971 837619923 764349307 164350248 642095926 993853919 105782939 854362570 470389456 560811740 687262362 816601973 686301033 926225707 808198587 499131159 737688441 678639400 798517428 760852516 389733470 680680469 313076343 364098254 164055179 123863628 360234583 609091452 377320942 428604813 577998069 152964553 418514716 934073249 558119048 941516183 229297772 848580114 960156296 490888909 239824984 481280299 930766565 248178605 797392904 997283174 970744427 843018656 421912232 692494810 979480835 713893179 331917085 430780517 900453595 668654145 606346752 517761340 666133752 447123355 174766875 298307891 891775873 462252323 237714962 466326286 454212037 962997710 886534348 195899375 649348368 139283321 435440265 138934438 238043565 546086351 917695652 791487998 603395497 665662611 926318780 780997552 143686492 406442773 792471593 574294913 182579771 217266549 961752874 741195755 847721658 465909220 560422484 401868217 418851787 862295954 294316380 700067365 497691524 888440599 182592037 769670389 424285548 529356528 232906505 912105130 737930888 152862247 903963601 157026706 576285904 531666582 652640831 775669700 118098385 407606879 504224256 794259212 439365316 431063098 232312334 514695064 368349080 204366102 919488479 182032679 251956262 486282181 216462557 354077162 559622927 578596220 331537202 690816039 744871685 940513201 985355495 585584968 456296197 532150505 916243904 259995284 754505501 516763160 713988499 717631092 744990099 292689245 116721595 231242635 199109085 873231451 476679838 324868455 138054020 428446564 660557898 584281585 848716682 560211237 988938372 446659275 661075214 650543804 968665087 715665386 153447975 599596183 854268613 354788875 778940022 315431384 192266139 553413006 112013074 235597184 919261427 878152852 313468810 195072953 824717949 101955409 915201811 695124112 881837800 259324181 225701171 793804136 364649605 560834286 716866930 974983594 984989610 164676829 942363762 131962011 713548461 639602527 246925333 120069981 234704424 489877572 440163803 645493771 391959595 864518652 382832242 465454352 787981639 585920534 585293238 138794496 373077906 252987545 234064217 697586351 453135143 457287026 343455212 902198044 451825368 831314670 312950227 584628370 144415062 970824442 701423627 184952386 887073923 852719471 752621956 694482870 440444428 782180798 554650642 287109365 332406915 823073776 916052030 956568621 528470438 769719334 193546351 384665998 877100812 418852124 829211131 101398838 383621413 720455900 950057422 466536358 779447374 974690516 603468223 159362302 304183584 588965519 867636221 334698488 710545227 479519691 970127392 696043738 170684871 288117887 814995702 886805944 879557124 665757892 727372171 995009428 482151282 343434708 774589097 727171446 226696961 454490175 907971362 464890571 254976722 608987740 853850414 701307127 449505868 799278171 200813642 155900088 343575421 199759410 563886225 506109275 981255356 377210352 615741292 559816223 650237520 779173802 896422555 259104239 206064627 369432404 490158371 572278520 209513898 629709820 684585753 334730464 317880591 159188062 512179591 669452209 285512462 438459536 129251516 100441453 373127612 101731140 678676108 573644713 108242033 640747430 701344829 176161887 329704163 715739589 975605452 505252117 357439708 391955484 132980195 888930556 900478043 457159802 797878752 955607574 774651402 237258427 101610802 822256737 959323762 703600769 340066434 969722933 850882689 231561430 848493863 833603067 729477795 793230283 698635601 375396931 708850491 156236738 855799045 519784717 633952220 553957048 539251423 255368973 706994460 987507068 992090570 171733540 210707308 460937608 539235260 831942587 130498177 111964058 291775139 507246141 665865864 844052755 919409100 985715880 794478190 437567262 315476088 830985464 165524881 920865752 393470672 429173709 474136986 794631854 189599336 316833756 657810681 277011818 671383490 756152166 716662306 273071339 566193110 740334116 672240283 753984191 516408799 385175566 808050305 780166501 931912672 392051180 515045190 837118134 989464565 518025951 720219809 638383887 685536645 916033001 325095668 196204877 416160935 768829974 606213078 933980711 721054870 201528477 179567029 340038524 591923216 272148345 746286928 404797976 322854958 609249230 449609004 935227557 161278039 774731138 833701049 915585337 598492388 169991438 985974884 378735687 793946283 347841967 211116569 835348292 953183393 839085227 536296533 289509718 941846204 384347401 621974393 663759151 258347920 128717617 162372046 465122034 263239947 316282315 329984252 341702099 626361841 712056099 577049389 159689810 449080724 668884264 839041018 713251576 127634256 295561741 214671943 981980681 757475768 187732829 698796814 171200771 854015272 259698821 598206470 952069672 553260511 191795362 782794435 808039303 318529970 386462081 880211035 186607573 436168961 596226464 754703524 832448665 961362700 156983935 621722343 721773388 788920561 241997791 411144417 167699163 453145832 794849085 288043064 679326897 499515857 727779786 746765316 710746262 993916126 717144914 633895107 189938787 655034856 418138104 838687805 286040170 282015850 723940412 944853146 467846870 503116066 557037580 219580796 473617496 271936380 723091303 177732407 543382988 683648119 700152433 256625938 180546188 385942750 309374695 925901718 739577064 628298108 115455777 647475634 800711506 808337017 775501207 124787799 290098533 926279941 838244924 935495491 294585449 787142525 986917049 224134867 442578619 561452077 181783012 995472241 816967904 408121609 873317984 646547340 979720337 854116777 703475798 113943541 886457943 770736267 786308068 319522124 300393191 955482294 850604885 922686209 344647445 384977439 433684725 709327430 320184378 908101358 767484582 502862564 858139806 919542787 904937234 450679879 175112280 145760344 834526880 723843068 515736948 718863581 838596058 765043159 761286008 573351704 117007978 970160104 776552483 161900950 887905787 199383942 551854773 160990611 123435997 336733906 803120115 338093704 552314476 540324346 584118574 879766484 957648076 623816827 831846421 930387699 702357963 500225640 829626601 255553369 443579923 454590614 575718530 944664040 346448801 560311291 955859707 738200522 265227685 502716227 291789765 602293901 597173089 209304599 842623025 981777404 971518778 929087222 578229557 673442675 780421708 912235016 830322764 805231760 933734367 244456736 610475872 739655850 178231989 744157725 772992763 536744365 830867483 341479943 117386021 402740640 607379950 625098339 187616746 532972302 552649520 369825788 444099009 563444591 595482418 982348041 375942184 869252975 531772386 153609088 412697651 171552500 624198255 341020490 593832030 680970064 674702971 321819823 979512582 466020603 141299757 191781723 452935770 903128599 965332498 524158244 518108493 220387592 971390658 918257006 700310881 131633887 875710756 981718759 860166975 358499981 755137712 353361996 363852642 352064042 492356684 660334101 128643760 235190539 271329120 566189454 803304948 360787768 298353205 869625302 772950873 375485795 381010553 240956219 698579401 719057509 563309789 652207299 241322573 286485448 628363820 847973084 715549392 800607488 862396380 566976279 995531775 429709589 506478646 104618417 309995482 881173943 469896560 599053473 390994705 343540910 248949165 962476956 949126899 924985502 906875251 168912677 786774781 273289503 354842369 505615967 140870120 758526699 519697887 361775765 321764866 645226822 881957355 218336490 733106239 798688810 958136609 457768543 415600957 960921711 661466898 522165224 811874500 496850067 904012482 668141493 498588346 292361515 850630716 467876727 236163392 282666696 640984760 635916046 356158712 285867345 165082001 240792427 999126965 201368781 905777777 848855668 668277707 360446113 742677622 974207944 786918953 248822678 228578945 833681351 917155713 135697962 452495497 572488719 224355633 407493131 898866972 529031623 798359539 417139612 431570065 201832527 606120113 369614691 397655354 395472882 646438731 236832397 422183929 691093512 949137521 493920770 882432588 607931204 788577018 708242155 379264183 109008219 843123596 405824062 155623177 562762677 627122110 552087699 892783446 463072319 692474645 903121546 361509642 348009393 990815612 325461610 456531644 476315599 272820432 903682890 455160048 326389827 795810497 732491305 436997936 359538594 121774080 492512150 391032280 148271420 519599289 382295843 259058454 246016360 876531889 680104796 379728867 249655703 229933733 546993491 480682334 536157943 456023933 672982453 114707311 632820188 141467801 933365412 657804706 848796080 138429678 113317008 755125887 367048578 194333771 943959974 182226633 607191065 955542598 584596831 877167637 584906958 835968753 348985633 730410443 579531153 822922904 433312672 443146086 787437040 496948066 501705846 281825820 732436098 770016612 393046836 257420729 893866743 928946083 251213272 361814105 906255558 793431628 108392756 761701269 872039648 813810422 303947654 769904352 797932869 662624910 826759621 622522854 808802621 896645044 748398692 950604298 140622316 759826664 369484226 293540628 434842938 719568066 755000719 367140678 123489539 334786265 883155986 595487334 412914541 162665874 961131537 489716340 758115381 338234884 296771313 502523190 721598408 900684496 924173656 752390104 735326868 442368582 633373731 839239010 844085063 235914566 723833959 580331313 659248548 726241901 188044467 459421849 868933242 264647819 661755833 133678553 666620503 805659378 216648295 255878381 198530367 639052062 972238352 468562800 692985326 977390432 295847566 540704498 120878200 335866570 774675622 412289575 254686616 109622991 606820029 914507096 210527625 738754512 408540896 794893337 600538683 859228341 871129525 304444365 683174664 338636098 446381913 301262277 492726219 207508069 397187675 768257175 489667265 182844714 623695839 879091549 477926662 272219987 669585824 729696706 926862199 936119853 360515677 912195787 177791354 104399020 310597522 687555162 108219753 186457779 542779450 500430628 583095270 582602486 247001189 167257529 359509342 431714032 997870539 229764815 832409791 798302419 243675693 983820009 106042950 528558720 344144796 659202834 819030974 447377163 818035860 805058678 423199194 274725922 317389395 119590134 399474189 558986916 391854878 591110008 671188980 792461565 229536825 186212658 114172661 254797879 533555080 178200487 410252594 773075808 799963183 546777558 649598978 317789100 758117636 477434132 597844874 677613858 537003714 900974894 952896001 881082466 794964027 872314841 588956528 642537106 544938921 370101785 507457530 475042039 612238385 779913966 917567612 394092382 540795791 645449784 417220274 509888818 292118666 973539220 131133705 390890704 142499749 503294199 191340719 803748471 763239422 713773911 280661103 660866154 414667873 938969285 690204973 993931307 571380031 960695769 757953488 970643072 475197539 451698161 753116903 147265085 556051581 399350986 478777398 710903169 277835274 734240779 408148087 594182645 357341200 855976075 418855865 788163517 841073311 494345479 601217027 383312563 167321806 145529155 932004293 858131311 667507680 269001532 417617268 358810945 664436019 293143745 153864660 657674140 742334328 852119968 479380959 467275393 886715655 474804826 764821788 223598376 532930523 838881438 618286078 918888274 266554433 249974204 967053647 925581941 204985615 857322411 421467442 461304115 538526156 778438218 609243082 763371091 485724155 863987695 730932930 335074934 938183165 920371409 262650613 496298028 877886281 682507628 517107723 606580599 496393294 934541853 665175696 371906509 761719965 992172759 188402870 278479000 588559483 199496910 391263341 901207152 525181052 469825159 810334570 842576538 966319957 237676043 301934752 897704136 534106210 913948912 416026766 417618667 228164284 199308715 752535685 179666093 679677234 312115868 953695161 423104974 654285036 931643174 743170945 260669613 880161765 226357654 738960407 424317591 704517192 327915898 458252661 236075704 667715104 675428010 450322316 576161629 870305319 492975005 763652192 966383662 508012028 740754895 862231433 100523844 506492569 677183896 601171717 482543642 318317969 850852756 118566285 678384468 244286336 840898171 815131187 150305419 345386708 575533566 250237020 749646863 143669064 319549429 966378305 746102881 205879621 431129100 302771232 125281611 137960844 957586889 702022688 657159051 625978985 564117758 143298961 895112043 860800417 267692228 336472917 674690239 841802992 553725974 439436122 406388906 905496688 326479903 378129564 695847603 199949990 924282697 320139009 212860251 783255392 250477386 771784311 323854449 841212503 750214361 938625264 278922907 690077111 464933369 332963923 313077901 775989016 931783027 898209910 226163113 104961946 746245475 382807361 931460033 312556283 943715587 533555747 336575462 220652680 354762490 525555159 440960732 631028740 359308647 324542277 830656455 382334831 966149787 767656556 234410992 619699117 412100605 644159917 338947145 476612846 245857773 551694998 670006223 847613970 498720233 967189913 545662280 890238938 448272343 255711748 831357708 571417012 853826961 305066653 660432675 677593673 363099578 163602675 369700974 919302246 242127130 393333380 855467234 515728933 284383279 853437296 872801845 338886418 418396240 257507946 299844678 654573521 626608952 479284688 258523675 617439578 300751579 245731269 231773055 600932642 598593820 694464677 702217174 852553603 614662508 958376476 228445152 933634375 103286874 642762733 436585732 656640630 629680626 684746228 216006777 234629284 574072724 636488687 246251201 636166307 324399714 746568950 401342856 226130038 940218929 366236410 896077326 233538748 489928045 817954469 556464232 908867885 397657359 842152167 445123617 934252677 751529634 464491370 370993809 232839209 409237541 118879706 243589945 229110971 881908654 705118116 850508195 883919381 288832830 461871387 490147821 236877644 811460911 367944084 322154600 340835146 210114887 148276166 322625944 768698433 980993664 676503882 185585865 357078097 962978486 672759337 195762372 756587637 414651829 619336730 736031138 292526581 891498053 381510663 851941633 469590162 657548288 467778902 986331989 820042923 424753178 394980305 866591822 672159130 749124742 944873097 123624332 516365815 332403634 380582656 903585417 741745898 426718522 159739441 923710406 386748189 584729841 915427234 342859376 728393131 617740845 480619539 422325052 889898092 985995315 721218467 177392291 391125552 947693701 728730893 234520270 600507126 293575296 753978231 977609869 600685212 346912817 672710600 154367685 501204202 222353256 943176077 854681390 899070484 272527094 657736764 700213623 756200603 217958765 715293576 698869226 243731081 710093478 744800021 640019509 391558993 170684204 302122032 183361503 132935704 732438071 996214502 244591088 141286445 849525194 368093763 862975734 929173984 522325470 896414210 571032083 879833020 820261749 487214500 502632161 828162652 417836184 595598930 873405176 921296624 485471569 435617895 602114941 294723575 101168678 631626060 978004248 788617765 176965386 631467620 198715855 412798809 670241814 235465651 361862832 660106299 853051762 292579128 400982385 158183582 177759534 623808052 296018056 736242221 805741564 339180115 400662140 772884807 557486489 258008053 553839346 949362293 136678891 245786673 740557634 488844626 960225568 861032790 436557353 267293954 130492821 338037521 868274190 504829085 385596470 644155542 320232042 275410503 763632904 829401470 245044313 757253642 551887721 268191332 644098256 533135102 654463706 992497418 288458505 168343735 222600311 673739622 449533004 665940144 155207905 558318045 652456368 739521885 799813151 137749070 537354348 446672781 985000612 374672124 527947174 458537586 744021044 944704949 662689456 712836648 229503208 943403217 365933850 411150580 262073670 184864031 794832627 462991886 984916733 650124389 176662689 143718325 388264057 757689869 471423703 689195355 495992817 623424172 471371728 250577117 990157058 490590434 704159648 748209919 305749861 406716587 919564697 556028879 110732194 674095879 975562048 917280814 602869104 626708366 838782645 990702585 237898678 230734961 823072438 703314837 174063450 840231164 279285808 107531152 829456644 129416524 296440284 789487420 263793896 252497209 126099447 219647861 442998659 412075961 519754051 337792560 222383287 330843582 392004706 536543452 784453689 711863731 538499096 585362203 637046922 451037029 457776749 993563293 451609980 176886473 826807314 144806492 478586970 833178771 411020077 471432761 591601674 839718658 617152282 996235072 486764115 108365198 944586585 769823635 561659657 931093447 658954136 966051532 991792360 404587367 953250416 405184035 957289152 160192930 743588663 870975258 874136827 256072698 247595407 974058875 577537250 730575868 139439786 951198600 476437182 951339368 510315062 891658771 425916120 247713197 393572555 101302427 303885900 872592524 221291212 245756689 943110680 163307935 695517430 886461373 407955721 815565677 857524085 658184245 726122492 316854061 796873307 912649523 639882688 144416143 840499499 468027867 509443607 172137922 167725178 753027108 306727749 172179416 542547523 268376844 233596399 330315799 514074670 977131899 126892970 615632395 652120571 896074205 803221726 357138816 893697586 237538131 789620467 786953315 303087497 686674251 637642436 466190656 828603700 716216407 527039534 780843827 426928927 225323278 405947058 425932983 352893338 614772003 737648678 188479062 998660358 306171565 457352572 262071886 629719720 699058604 511783230 139213669 366112905 133434352 649737579 915873457 577542903 527567224 923889636 392447318 825234171 381746529 456404795 725313385 614480913 799644860 157659486 497676616 589951709 973910514 634237607 901456475 904282053 773200449 202056841 187354830 159550680 105981015 119835477 544740916 652026683 359613132 298708418 607811061 615807475 650266091 826932850 916479915 710484726 377265785 776312510 967975813 206433449 354145383 385419696 416812742 622718388 503249361 690896525 773934790 620183515 722799973 677515218 820472509 399617383 708436264 787897068 669768444 412184565 131816916 890733629 561991307 798944058 489256563 565634359 444911854 911680907 953634255 934330658 364294503 380083494 556838473 405855245 328564537 179038729 851676301 789645697 532052219 537661900 335628662 205872150 450744747 987843401 517282119 549613733 766708920 696614887 978373420 740841892 367156168 177930445 449619602 324374611 964416564 521613909 457164494 522487332 772173847 316724185 222066745 155433829 272299063 410191074 741459750 660242446 919957974 972284524 969655785 946047038 729870251 410304850 399420791 292004339 146925525 276701109 946166549 814881949 699372640 868461480 448658119 476422871 606304065 711198044 283463852 796276333 148568023 625628854 272934297 637273108 279802288 539791615 171818431 870684632 465409388 886784213 943646378 548665277 947175298 622682432 224129400 853092701 795566921 718716583 366334985 809364686 600007944 548345590 150797461 258993046 453243882 946438632 737616612 264440860 663960811 313876208 271889677 571294076 916081203 290762550 384237790 531425870 962953308 516282239 470682149 505501082 586916887 618974043 893553845 271248931 325682623 228805425 679697923 398289468 785349177 632175901 953960016 371696456 524083648 452448649 308331752 894076942 183213500 673256880 707832328 250436518 199139018 434321239 111288215 606145338 235232731 948035370 649534804 762911061 538607786 502215042 363542042 248718284 458962529 217167484 615540171 757634845 236315055 813634919 459266395 813047421 690000836 872325620 713338705 580782466 163921522 951974354 695011208 439245738 820185849 922793666 396701803 146236346 971673371 931395578 415363865 921763876 962460057 792133982 117074916 509131210 117275803 672386168 566779966 641712132 397841369 313743021 891784821 705787354 821061697 822738080 913656469 338212138 477748422 318393473 442906584 575337237 757921506 533415258 661653366 793152138 361736252 902651871 496843332 383620305 378828414 262664483 325569415 563185183 201640187 678580433 259627541 194596918 685367786 413618404 281862042 996014920 938521299 176889948 340431895 712788679 708096235 968008591 167033317 587892561 816045477 977685855 125667257 811118143 905427773 520312366 918257118 962985247 791582345 606471592 870729039 590595453 189681053 298734380 431409576 982791687 716270212 449348499 414325059 795964378 818740015 627224877 170340469 771647393 323160003 905294889 186519949 386104357 348272504 955690807 191578122 547567119 903269910 789606167 123825946 209091334 356747449 379284376 228144494 773837340 626427064 484291574 413994551 284499501 265903984 481280712 835132838 789307078 349587437 285841450 133316759 399176371 315088081 172657674 616287263 593531805 933732916 751320219 535918197 251969201 852598172 461142497 251335588 953735953 288130633 118657074 679810685 562984624 682841476 557231289 401805962 884879736 148249920 449916002 439525422 357613644 276743589 305987474 801128184 545413394 780941221 573290172 477868700 728083940 836962422 566418740 547416162 151157357 152310141 207903360 317163143 354586462 365860626 745214199 597842991 785891268 345556219 911163634 154021533 513442677 251725102 553515098 725544938 422413202 932920515 581122792 975591501 823769174 886054309 154962641 481835182 895788804 151771545 429670454 844957170 986516701 644888002 909507300 660286571 785523241 397514556 457724476 534438234 118016848 561937627 367372260 876747885 297699204 330227429 347564978 411103052 247892159 690094181 192940742 370870103 717377222 235571416 769292902 338343406 750457244 983200384 585912959 409026388 200402532 416122415 607707760 396669569 585701948 647790243 690537737 576726478 527962676 413515096 188023823 303651538 108147880 201876182 625761846 777317043 685708005 234990064 151088548 237113790 513756044 647659387 362258942 602560193 641055426 623141317 218792890 396996131 355834634 736762628 656395315 287520330 581957248 910811741 658297240 123229395 996849280 889196312 735695541 429877792 918107931 748325909 773419015 294524262 725604889 342721931 442788752 753426060 471682693 443284426 859823224 135137939 291253857 406067753 607108139 445040119 987574466 985637690 487741381 935434374 797019039 382002527 572280972 945753350 786625729 350136048 509246314 140998310 713449265 891048949 969215830 565564246 636855933 999406623 654767183 414340492 189852051 438336859 966400634 395477316 194198596 185557317 142704444 246284976 213550051 705630239 659277641 928429244 908084918 571057626 670714096 285675362 404324633 413727612 105072869 516772144 643936346 741783639 566678166 122128894 149125009 607810146 328038276 671774375 728262922 471381776 181648509 184161595 931654498 829577757 687865934 343701848 862681133 533954021 277068944 917859577 360887641 491849906 786354329 682458723 878888262 214503138 987936047 515785426 352081561 517570034 298905625 793012595 431439372 924178649 814730887 379469441 239188925 204301371 832423107 620739980 318515010 837564937 700091248 488073248 424097747 660184623 693831085 889547335 297048226 274277320 775907854 713846952 526479850 463106056 546527031 559634432 335590355 711784273 518385717 708287793 213828060 948856881 928850744 563477829 531039657 281191643 333960452 323281617 834564651 214113733 888539760 997970218 170396763 718634687 872646227 578869848 501792747 158096261 825186830 631519823 891089277 770411170 944365374 381880203 276141020 427974050 372259635 591924500 666518881 416436801 921561193 327222097 860671168 659681770 455688172 303818064 555679461 355899538 584040380 251582224 355671751 373256886 499793448 135467205 141043534 968119731 571870817 985039020 118682864 580808710 991518784 527070356 282276396 208361649 646249980 931251217 773467696 613473503 412375018 237982708 813826555 612122779 124841069 415103617 723789759 852162729 249708780 439497942 411529558 264093626 112825524 238304302 755325675 642891340 415157088 927563339 818135948 275135360 824840745 218347392 883073296 131892357 914049903 134441641 911313231 589773824 703172449 871161662 657322173 398604971 847126965 294092753 194449807 932533587 423917188 601823845 821888433 292693849 741556273 315296647 824223182 357263522 691379674 133255414 680786504 961628307 976552545 395158879 509095659 670825116 357033197 642142824 828257986 359531475 439364809 463728950 226448921 129054303 904772043 994115994 514308814 171544823 617464170 798752297 757120169 277981797 793417735 419883828 940001233 564476941 948407353 808874386 927834690 950100247 415728442 169306516 298298597 469365074 351258710 661225541 911782574 982250071 286062668 771152951 453407470 268358023 599828072 294765801 941824366 490325746 874204976 399900057 275185879 625575282 495534011 991289289 393884272 350374914 229602487 384578385 642196811 642614577 418955203 231671312 809342983 379550530 879394018 587962679 933007665 160787408 908385940 361962473 485039673 220977845 413612953 292492184 741391535 998963412 199667816 100266798 260813954 527565602 842315908 958394356 564932805 900732277 935656769 362189281 951848295 929949836 329587110 673174763 891846376 692761852 780546210 802938575 294855656 145139835 752739030 524797107 721418461 481286869 785410021 354873783 548106580 795884494 511008933 421268953 392356158 132421407 611548175 538100881 392109304 315702189 628573935 863022676 453795605 615413342 141698060 250870367 133429987 998978615 897185424 224501445 522864625 819853330 431458667 496380513 621236809 548245219 829135198 803246217 686612884 914589108 835553421 246125715 398459617 998290210 785635632 885538007 684185523 443810627 743248303 118625474 409115685 184240826 665321268 362166548 682540004 575451532 780535903 878534678 540677051 997546362 122959420 970454762 897584341 829524988 640744278 788573267 503680261 271576963 374038884 916590335 668199153 163124163 453608698 549122809 487541730 491499020 459099605 768012092 258030059 679196219 946578437 414435546 139669652 628533841 290299158 793586103 799501776 390275792 682284420 281621170 808093099 451563485 583826267 326248503 912876886 354432134 811413673 518050073 888032257 436304079 708766387 407376884 950234674 877917281 782232356 221104764 470799647 475731599 507658727 903357869 458565571 901841450 222141871 405189240 480069035 812007904 230562855 580256167 935540225 800536316 489438765 779159859 765884312 602931157 182397763 541701966 237868523 633047673 107442295 282943896 845429578 289223669 296422472 404832942 702066361 131648304 505670639 204246802 305922317 880042649 439280514 842416103 448614457 678052251 641769767 136580955 690272166 666642379 295833255 488748105 471257346 828767646 861028466 457000582 873987959 987952692 139276441 310140504 769661777 356936587 869660707 607383630 742851729 663439242 275276523 545752652 401947026 255853402 389702957 129782078 915598521 602439566 516972937 402202353 189738568 260995446 945872726 910910249 910582898 600955599 937974541 569257231 266208034 159718800 436411581 815385797 976079365 986903625 131569293 728546434 904002513 623564924 218699984 838410490 562994652 136813723 722182553 852243502 410449638 961656516 751307207 345106981 588132982 445192843 975378180 607241811 234728747 287811275 540739485 303415560 674702478 836537908 125318073 804744957 590540880 311219272 229811524 886506946 614096327 601617361 539063778 938235229 629406236 907634763 874811669 233330773 250762427 453489167 303431158 690597227 818144190 517681649 430101497 609739494 380914545 505353882 203814345 647357214 927602284 660300274 764112859 485793884 476436876 348611863 494829127 378784769 623463744 567967588 686700825 497624275 851700439 534148438 182015308 700176606 583830118 965046009 953402773 702276036 794359230 587821364 915661020 359450900 598432226 309942923 717997707 922451923 220206569 482524170 401229530 173260417 587928392 266473102 353772073 392933641 850928387 492849271 998512717 818568606 641967862 762435290 417873388 604070724 426408150 288795485 456808947 636396959 685230807 681722847 104260329 968114115 822180169 768554579 573940667 321216096 640474989 182527050 629916982 469180360 122467733 773679563 688336717 758170454 203891607 718598076 249163392 518893125 582073520 125827982 750098737 425146188 298713689 494383101 992681235 755503093 775330278 134463805 340796132 515016461 821608692 783057134 162518257 956681365 576592342 773778141 384078787 786310345 970307169 432784408 874907518 712927605 957710921 241780863 154780615 579509541 495660696 824351848 220447020 730130307 837634504 850400365 442454091 410949796 188246485 571808005 197920903 874272373 394713465 942743019 435743590 475350812 531166555 385389874 597121597 488791294 126650041 684194363 820989973 803498898 560879693 126775915 637274873 404065983 480540041 834559089 630562004 151051120 175878116 673714125 202701665 571618759 817744567 369100880 496169195 317313155 924155927 505645270 178265933 611160603 240067253 714591787 451713505 237385649 379910743 606657173 696395596 303517061 569417031 640468486 918857673 443399947 651970924 218147749 814848476 702437364 787650478 695864891 134030289 782484179 248706790 870582917 480780123 495901823 134210750 251646235 524642165 311285654 992471759 279808716 352613398 660981009 106662099 344027901 674572911 675725489 447291421 196538321 938542144 568751556 791528938 162370705 218477966 898066087 571874252 321315693 203143798 229120215 217467101 480147351 204526077 595736928 816439656 341379473 697901412 345624377 224893300 277828648 332266169 705429424 871462761 402078259 110325077 735790675 630005850 892485062 704507421 105384485 286704759 412975852 669798462 692423627 736766471 561934806 488067657 870347965 400746940 512864056 694470258 878813601 490645232 634710214 317046133 128256113 396022255 426751267 361086081 899586492 106642377 812426397 776858603 445770687 741217918 744670159 230229020 443260868 277609736 131546406 332016643 471282395 343330298 238428055 619224339 688966340 766891582 473491328 930651148 240524975 131833158 205555738 869126948 461189414 108882928 823529868 257902135 322265794 251175230 597864669 280770317 776231753 671126004 225211727 789880626 500574873 817063613 796327119 389303815 559063981 700240826 778142692 631160972 126248111 657272486 662147978 822504607 985849900 239258662 629219556 863027475 213783222 330883179 512124505 649144103 522139238 827619049 628063020 900603875 678822627 426769556 824146936 682000206 695624772 341973756 907325635 276849814 728893359 948630491 885035896 332456129 589042673 677567912 423013417 749452563 435264352 955408772 145659962 521288841 874879725 489360934 370152918 777413917 634141441 142366019 491743830 273554983 214219767 617615734 112628398 721474891 469106842 166676631 426808705 763073599 520446666 610938442 776913880 158139431 152715928 704046629 702576169 222292379 914432412 924047529 667008070 346845397 497285672 785929956 350405082 955595032 823834135 245671459 236102870 943675211 364126066 428785235 252977769 390919106 317550264 466749653 468929412 618551866 874958791 502300749 367819884 576089231 671951948 232646439 185885240 508926511 356861468 579895542 708686709 237513131 836554805 613236452 497219315 713544326 837040051 773379935 101316318 832880973 157609275 612538929 645265483 922918262 148298007 692715921 226615905 460960229 653972964 809020544 712457831 391522409 952497860 266222209 732148489 191447026 268586326 733594978 490246512 800340528 747611683 574141378 493919691 344117647 213975575 664749430 953175720 269459683 549355426 681490937 833392275 662710452 478719667 469957981 848467469 961934138 385140489 266519652 567044831 329236942 808776266 680599198 721257507 389340796 443189002 488140175 939245063 750855985 599681078 819345576 149450362 558816084 820404691 546064612 160222708 620863200 402093129 671226716 449848710 394459441 251802676 857332132 892879001 277775743 595738361 640164302 606871414 395202837 494892302 755714876 127837612 356321880 856123108 572896473 262873701 164553325 788614460 358017151 279915072 320566510 895891115 264116726 908419770 434782810 788245058 519455552 556251865 798272511 241072506 645756360 641090778 877325183 671661506 276014879 395909972 852317979 928349959 846694385 346194375 766023352 657309752 397293042 540993586 932007750 107839058 387785551 944007955 262001449 768704693 515886066 304917973 534340315 864484420 368753308 933704232 496044449 769555658 266610507 446685806 386470745 195506004 741907672 852779920 521666439 137345198 418069444 706004270 714509261 219866915 325171945 175877336 117726780 833379805 224422392 124348088 389737808 839666423 566709971 556872011 811928899 197859165 850672602 584348130 320316649 291977215 996439378 697405558 532622936 392527226 324622572 323954662 978138272 630657703 698022165 162935352 115456389 169950322 231249232 943482540 172759748 444560754 591330025 657298863 129555119 149202137 208840234 525511236 150281923 684620475 958249490 626465004 104312923 206991748 874832089 767140688 129987139 948401425 343110681 432738683 467136971 909380955 629400110 803067026 234461961 732719478 794853666 767336402 258180096 156928330 405629306 431943196 957470295 104354010 769550565 436840129 584889537 550276221 687573254 585086346 282287147 461521755 279802053 510430447 865348768 345133116 321691938 981539896 955822328 441092649 780478348 135433270 917383576 370449731 383586670 425651158 848175687 275815836 959525528 748092906 336228645 296340033 959371606 800367481 684569350 479167631 689979692 413749174 363037339 789213525 700324517 601188435 221139634 167249238 323931432 656049434 248403555 463332876 244426358 723321328 934257248 329471943 550878713 133190090 931153977 200035791 635846418 717928986 347364256 121303373 645302423 208995780 845364066 517722940 246397404 333425813 823254863 132098943 704723677 901922280 228416803 967680983 909581679 978667589 537302439 361458154 989780878 979141073 643451542 751186150 322737967 843817100 909814890 184969565 770761567 299902560 287596930 158569819 199936865 586593255 726306812 312316832 904525583 798344161 864212115 942369076 159628338 313118288 146711250 782654408 120542594 250373503 681534093 176817975 259337376 309174474 526461083 208057169 603415812 448596909 692088474 269959729 692477651 964504203 224518183 634899935 231775257 669304432 531208884 134669785 531339277 669470624 907816544 357898372 123018148 769531566 110476260 110328094 113046424 481524130 679747904 830955357 320527874 534585569 816868773 982894783 972688926 703284733 258079921 663756366 246482977 644324805 564392902 542200260 928265706 230150151 190554355 764647911 901500415 721650107 772847902 443354731 702140088 922436461 633750346 193839200 540315649 998768276 160451077 659236540 500366945 288201129 731187180 528593062 671937190 888946180 920347660 189162445 669094483 603138429 764821469 590550726 706023142 769324584 725093356 306992079 920406923 244734711 709955217 285981050 105507285 952794178 570642216 241787257 567146997 389105715 331278181 218437974 322853110 759285720 281275240 889027099 221666615 571962863 157526255 741993076 444840158 169005714 732989278 428445289 251934750 534767338 547288294 543442383 333775384 468473308 165484680 511843594 220658745 115256367 159605138 238410170 763866803 365555053 858445893 517349827 980656076 955173775 897534305 607876498 937277143 308413708 890401821 940308967 374253564 850917492 468537557 227199940 436952706 971946773 346897811 427645814 449730136 145449047 375409120 237180838 863415878 988272991 101370853 374180389 133939717 323331901 329150806 721446918 737053746 722870648 571791854 283705312 578868546 978948730 488771973 758258029 597643785 884293345 881571387 224574369 932000279 791801872 234268772 489311890 422506462 585645100 543671959 239972142 409184052 158411924 874629273 914680104 831080397 244483055 292161381 235624954 530725405 581822792 542862182 273555296 259004489 904659276 604587569 802899703 577630120 556960212 768583154 254441404 336075559 350691729 114550603 536704834 241972524 705878789 951584165 634757041 778707137 871909320 447759532 641163686 882520177 727665030 467630510 946233362 821696285 531092069 234230310 182402400 612767575 785478236 263416361 671835313 828386600 177276030 342855303 512821460 476979461 942846847 266408091 156270660 777401058 807610445 103121867 339434432 996074555 558981634 703869354 908319063 257389772 345011879 688926784 616352158 896465282 411631360 796476670 745602164 154625407 635999099 479563725 437603666 429419761 759774325 848261260 724071774 435798152 617422904 372580619 433103035 142963673 267598653 923853655 932529599 889331759 188150856 608330082 209981945 555596093 801438039 812025616 847314730 592548850 678612427 501733112 922260840 174887507 137693786 738820552 951477952 781525759 800007760 646594567 438575045 254524929 806174951 849092999 776626614 445797636 622692567 632004072 395235245 446689494 271264435 853175469 687083676 212533466 767498579 333029524 688836257 526687691 446016937 244573810 835297113 499058440 408626576 393382501 822813287 180991636 921194722 595170002 839641605 689847060 695277755 586522200 386918874 381507139 390129590 467116523 424340341 913588962 899800633 945935305 530616150 372128048 885210702 418098995 838201008 927004323 333799505 366283441 972131790 560847242 368382184 789228406 810113024 364754785 909603627 139368071 659119815 532269631 614058215 165137902 666818316 498736143 435471737 599529337 956905035 481608271 384754819 103675802 513319592 427892759 907326534 716727018 686769864 467132816 531255116 505121596 210568360 152775720 297216335 274457591 424379210 182822754 440848308 151311969 531124941 901484386 591360064 587001372 910698654 262799303 753636474 985107403 882110912 279210066 353103790 877140617 605936206 499329096 470476904 718169471 988866687 418014862 504787194 909741881 293263740 135420030 255078238 732950469 249114888 501918421 422399669 635150160 405343592 800338567 478954230 832362758 453995719 737912818 144712138 780427460 559980824 648287715 248184929 743263678 971580958 412454849 327439429 321094557 824046766 166574174 756204800 853966378 267998869 799749468 458148088 641671476 729878292 960799085 147865489 303324486 974973434 962144490 630134141 861612906 133551101 207937645 657366372 182429096 876953956 779912001 220356211 546401043 279143726 497463025 674932786 995504307 710392639 353813072 392112400 493112528 728444185 220878789 829371884 625691753 488580417 532846763 897859261 488412236 531682980 474338785 647144950 871293522 923364743 139573720 838018196 311068638 750396973 787468100 741004851 481708832 777595222 975827790 384217857 568525579 155080587 908838668 339945648 992537299 538415845 942235424 292494701 612814141 813833659 537029657 786448140 316525898 551618206 981287976 321611876 724636694 743211074 866254144 822374651 208383896 987115668 581117346 698918577 755673926 774689843 210722929 612913366 301806065 486688654 192791095 440523524 650897730 687878854 108701633 520387381 646567453 156561365 625109688 251427688 395043119 524450983 794139046 873642712 370495631 859081211 368375323 892286503 770351694 296470533 395612504 475054131 825305141 682084608 765193864 237343630 987760090 886164325 838025177 820134117 328081161 506327252 861028913 698839073 847401485 334341081 128356875 870126009 169562869 598077492 218488284 379718333 583936868 863676616 684756966 368568893 745958491 661300837 237455949 250847138 263043581 793358903 682915216 957163006 651316627 733319062 391638298 213133392 900833899 708741701 718113156 553905625 583677670 120964283 805607301 880419292 871849554 620835222 883202993 414323514 917155444 112541611 549016225 924771350 843655919 575030915 204830642 631837827 787413953 255631824 583328232 182092395 212023642 623586462 157787241 961656003 402300775 597841721 314303717 617499162 735905957 308314892 154151671 364138845 818921570 136143306 905867968 839503163 716485837 299258617 958938984 179479047 892781486 632850331 297436507 757501297 137398470 347858553 200423351 970870854 109156452 898551552 361812908 444925843 562786061 734370669 466629521 555273417 183015031 624818751 649100482 357670154 891961418 680315629 666110097 277975299 556681582 570883638 807389811 789866273 202361054 569127976 497950825 367062162 377587159 504954338 183955725 504287190 888759314 745618982 257646457 257367313 886868033 517939172 568831444 599048080 564173296 765735642 913374515 529778058 129175806 796198522 392325354 140113137 230824140 675040648 171045987 163110372 337577101 370044276 755436244 688886270 815687860 989352053 511884339 757566758 953596862 372701172 764831060 368287844 891290022 529046660 279225103 710521499 571539680 327829942 687206968 902653139 748181568 638059238 556247425 994154633 850421023 447344464 306192235 302474308 634124345 294458555 234592023 601783301 450589782 484365761 581403786 661717589 381101823 199218560 973513365 640429331 192531274 998230899 256517661 464250484 889262474 829009663 660534677 931966263 453899577 753137452 858332251 933262127 664651787 354044931 169101465 701409381 710377519 953793897 704210502 394897581 980244706 424569581 997082383 997116657 587987488 160702409 443580288 336232376 666617733 265046413 258306317 676896025 327024636 985600657 966381538 471923707 621354944 873123225 221122034 131153001 231039213 797489568 828621241 276556774 967587652 226558000 702501228 506643564 337847960 204218818 126300923 624310067 817211860 411632716 531175452 892849607 215094483 310796198 863194383 296188912 301081887 626308748 930912260 165618741 881705312 914377090 738080837 843701698 700589897 255155032 572255938 244847740 201109944 442759681 279712813 369245264 191355427 522483087 182664596 704744244 170402100 446474177 353544529 582658757 917133982 225547446 751302696 550207378 724012823 375996057 373759219 560363850 660100635 276411057 544088099 528507029 698292962 246960216 216127283 130218613 955365059 475534340 777541469 101669712 604713503 118482040 379129288 763934796 353302731 247921033 746556850 997697465 367564535 309782684 200397503 900912021 371600806 868654824 661253374 902137243 427829850 996381155 263257697 134994402 892831844 311945565 823982104 178502894 653060890 956317429 873692168 218915298 365576721 479834768 735917989 763619645 844834158 120311282 370245943 466138983 424476713 854816631 176510425 431552796 451651451 584532142 713615691 640066480 835606901 732883932 251180307 164303877 856978947 153348502 137481259 113390810 983852967 367349258 441996200 917875795 762251266 684559659 223387373 653874719 582694262 268261448 543476109 646903348 777830080 557028730 624850893 640237812 552445727 766866017 973302498 119168373 837635899 110711194 537205601 703684277 354771951 114411392 171972164 503220921 997261508 218256005 826537264 798209722 418357450 874573076 290730301 298686544 103744453 777609454 122186009 640262781 316282595 972017808 143881722 482765105 130987821 966624247 125704208 867064766 611437793 509029773 966337434 353114959 250722354 291832556 572289813 196326009 108914636 975391651 908575579 918252637 878797291 963234424 755975014 529683512 963804233 989253914 808549378 126841258 468971175 413508827 174793057 930037878 481994745 498946883 702636066 658514168 587001067 711772887 583519432 552144972 556184243 740374396 613888769 464852505 900403303 155827529 317243829 669415608 675228112 648999952 553641199 567482946 711768213 914791075 668363819 522265560 374550095 934083133 219096263 843511808 476140439 617405388 429703136 160140764 412531614 691291809 766739449 643057118 976289516 212594261 206702764 126298517 574435860 806093910 766363261 789208485 610853738 699614379 484123833 894843449 280439398 280582900 204806796 368645372 252860173 653830139 847500626 216920042 840271052 949039042 555886161 486550414 578614566 521159515 989505216 897870377 730770665 679778525 579661879 960498297 189018856 132790015 989618230 849294780 689554232 873482682 737072851 844887851 920877523 384495579 382618027 516590176 603897133 991990876 748857626 345571802 109608038 832448016 997448222 703395318 131682096 486285044 488622684 454057466 435597252 702014132 183356235 614751559 866960953 930207777 948417182 480792613 551118966 312852078 299425836 896460677 897957190 595923823 199624610 516704517 281450603 296173715 893835035 755728629 399884112 738275610 377239001 120259567 504936108 542510189 902321226 131004871 496907996 835587986 528764588 557310081 777492411 534890973 802798757 672621448 236158284 651794561 134849978 644875612 985904740 463887874 125188137 330137899 132174723 999637976 706364764 624545996 248633822 732837825 175588628 908966056 826694309 766164171 285664192 555390563 460923375 973157144 133242350 948797961 660805590 566888360 910574869 268406075 188137555 649190351 591710393 693567553 990998617 614666932 584726332 267759388 300608595 230298597 429030541 913078724 757207033 363972396 341577323 848997907 752821234 793097366 729950868 476531391 135573179 803330471 183491220 240163063 916470221 619338128 144981373 564389461 390689439 774746422 129960232 325143629 364026864 624148232 816247358 168145830 724745642 320221976 523327201 695760266 935558209 705359268 134406474 144602221 474667829 173647022 177157925 335133301 993232304 692308581 419427972 466476416 182740344 728137232 286297194 711953775 779620235 102840927 657675799 786785536 676626362 582130625 878601797 439883485 690309290 558832768 336142959 949756074 725643586 715171298 910428861 372464384 495277158 462453576 714864338 687985129 178431831 339754111 200200029 163181645 481547797 552087858 623622313 639662012 596297693 362360806 931113543 106848629 661949057 429672813 684114968 577525745 751040976 275524554 461937492 510287047 608175694 229894731 388269371 960482296 466768023 457213683 233241329 469966120 719794347 737326335 242777229 309273088 366188459 214774496 999690729 356148297 367845408 639146620 871332137 337321503 163016459 683949330 269349747 247977232 675454344 549872082 375406037 752798155 358595413 584377542 943707579 397156604 928086761 673907653 755181617 195982440 336318195 598435445 995891524 347423276 184722668 389963461 542432053 118666574 847317768 744599207 658042264 517532716 874098178 491558160 544885621 249631062 705283317 251944652 294848518 562294601 539780214 879587989 831258606 515176848 487761643 437068666 790303152 227763036 222673078 781272442 158772187 812300992 427118428 516956682 104574452 802875227 251988703 439127752 371710005 765140818 400663747 392031747 660296357 725806041 551132097 914254386 607934125 229000656 560576553 971945250 989514286 887145082 929129526 477991264 224217806 585207050 675203915 648144596 881185767 953205800 938061692 907174374 780766125 369917284 730478933 744046614 186129560 946170005 779250572 993261509 412028664 830536513 459524900 338510063 667803078 700369325 147425540 389368799 808683176 120239512 399499557 751673306 428483029 828176113 334121890 393691864 287916740 483541783 251722970 339780859 514875628 870292078 208907869 728634739 942003759 153132054 505117495 202005103 925896700 845300844 216370893 985049741 139508169 484644298 259290062 428465888 467337446 398785633 295536899 686803939 862319280 830454039 956032973 372573399 151740042 550731958 827733713 302590374 113490996 100510472 463637976 681724467 881065771 783203246 285546020 527649263 948925051 668372479 600113455 348753804 940549190 881103789 808599381 620075951 825804452 820759692 729085713 649713318 778527362 517241003 901761076 591351366 651486395 845595075 347846382 145828478 198382940 982335614 898439855 849989285 755484749 855747085 893217783 251913771 235488783 674974869 264945305 478785402 189153014 645726080 646714760 636574749 381447071 644846542 392696396 925003559 692974726 847620556 102181975 312787207 892079066 568371943 258169550 673624175 222707804 987635363 734091682 448280693 477790538 327766182 881274116 947733836 759386747 516229085 487373770 817131660 381370170 541245112 751986454 137004077 996529511 769819702 476608629 473800474 886989927 720367813 577607020 624149749 334092156 799349588 363825457 394800738 364861459 747223664 985071146 849374091 919813351 405504361 143501993 934632890 458940878 752136181 412304288 231870308 609422093 649348340 214145786 162980270 621509216 802822131 983006982 665967530 861070552 797654104 556367958 401405255 323100457 440955597 210737767 886464338 817335378 775063856 912044394 934707665 270475172 736995635 738646120 732249361 269093340 202795700 614332398 416807089 409859328 605684938 528670659 852376477 897076145 886217023 712351552 256681536 110539667 494864334 794488397 846341289 516510619 291384288 223197798 367415667 654981903 630498625 558658082 398273463 611608425 652746929 743464958 995012521 410260736 377754338 752680700 338001969 827097669 461275933 280196326 332708340 805864888 600997456 552154252 143639833 561952221 338783322 748045167 161604381 569880281 324015922 314027484 260387039 562978413 465624120 908867451 708606594 618623594 216073839 557453200 122602072 582144235 646611557 671100232 640732188 821605133 403899597 526896067 629934629 156827371 908127424 360782268 144234129 229482852 584716213 768635605 675029441 567329057 852999872 471155451 957425908 427175572 901778464 973591659 997510080 348405391 151248629 489452001 358239388 164640317 676885067 935311337 990945375 433600383 348136207 877592573 825920240 952518447 249308852 214703499 470780056 104250103 606506328 276783355 923791384 789959089 729508747 247340862 874877219 871564176 891059894 738993681 242215488 372333752 348941660 197358896 922928329 348562163 309747855 192963732 756374737 667384507 169293598 708996651 265345840 664475703 581149545 534581972 457879789 773071762 475563799 895709000 644087483 977246210 993692304 184805379 643066190 462331309 169724774 749393737 562398857 750148272 600489482 931427698 511508563 625683834 407998358 884427435 144537511 363116269 166384016 272355847 240234513 626523091 483067758 664173910 392458528 316441286 173789454 956297831 916261767 480519469 777444063 354129250 351845209 276281440 239172037 291470644 102180153 399156119 359237879 449716633 442681412 121087969 140951894 389515206 751527873 585428052 961947218 384589437 516781694 564746086 430403781 873618441 385536613 910275580 310604798 502657435 306814961 895905824 726030627 461189830 843267031 769749261 954546853 390454848 363031502 235845862 937323031 499217138 432355684 218804306 356326649 231310200 257155665 123844534 354066066 324442619 507366110 827996069 309477904 369395886 636988484 357215121 212648418 267694826 839019835 227520892 604383029 461517539 651937691 384465345 121977303 249957024 655334265 161190296 960218289 824303568 677488089 219448733 964017229 137878187 422794158 323423166 120298136 999744069 618495986 162946104 100725209 820103667 540152467 492727208 353926906 372728718 745409418 727140957 497717178 368178365 119544481 326844130 131434981 614963028 219559367 269430913 252401262 336533565 647337141 473640879 410779698 598296373 343449085 773024182 977468862 154573449 680701859 460865682 337833225 229764339 974710915 186200165 261937306 596771292 414639888 633754304 993211457 189307449 114943059 395512301 675949332 880704605 240524391 786872882 900531230 845775583 925093517 880267631 984018377 551730222 871698278 134700813 897229125 591801821 252436454 869626425 823585770 622879545 913976820 215488455 668457277 995708172 243217303 756545813 607066197 650429751 707147600 868254418 784348037 947081584 542589878 653955539 510105951 404347415 469141849 573859769 838785241 211137573 630929772 508231188 344419953 869913645 605356600 802823105 471582284 109265053 577368670 477107855 619064094 971879647 845868330 394141368 563098271 214181632 902848962 236878330 333553331 369528114 460574425 687622123 181058360 219310839 206700888 159267976 374385508 952294785 144949466 525783485 857995797 233847868 689330708 963386602 116163437 147150603 839395600 881675957 873322793 122668559 743395695 401234866 601684581 617743143 244582175 960779990 615792719 863305791 851614438 716158175 959873508 165072671 228395997 541774912 923900314 890345457 147164561 605739071 923760684 414185839 699073338 206854852 987437369 324756640 171585503 463976451 688376146 340199516 822327054 138264826 351044141 800948554 165181922 361629485 782008462 952164158 195300790 387531049 646565954 138115023 786639395 447738621 737338566 986177874 698656100 967425456 153813463 795247649 393939114 273563575 817169600 415468915 107417132 438536262 440551935 155330233 615113767 140358011 383796741 873648390 821424394 863037696 969872162 618329852 700364835 880528980 287815320 195973405 853050680 542807909 288439062 708584872 910771583 591775433 791999807 771492132 276745652 580451573 654954768 932068848 467819139 750763623 389507660 427410645 194318234 852845173 337324541 513036737 991777795 352289548 673149158 681791690 282683939 342263856 782331015 247687561 214002335 365661561 672083991 447242980 480219844 492775186 662898780 358030861 316829690 784476992 277816420 935278744 842721646 229780934 407025852 676280182 845022588 761820436 427146719 917591167 172555074 753220394 118270348 392184960 517479248 466878187 168856468 996348018 824355368 507347528 396607057 206488593 899734820 989067496 575981864 275708270 394741898 813103235 765003066 670130054 328234719 382514819 460820423 652967584 917785452 421581293 465715365 908175279 841656713 214033717 820621808 742060574 966784693 784924574 171017170 932211026 701344153 924713391 664228955 992543961 615454397 752473590 759857932 576519468 886971346 350470712 878310014 842855189 355761879 860585925 925654234 516543892 849232431 541989720 663045396 523175552 939077564 159903801 787861865 504415388 256173364 957175344 189651669 926856092 295812597 188500084 951702923 761222114 846079876 974377185 858199955 476105528 159632101 172331254 485765870 302954049 210898895 797985604 277143445 887856064 254360225 537223058 727726501 840907890 568294909 975185917 627663655 272662866 597062719 188349050 654158688 617383292 901606488 611996110 199870289 272502144 668489103 197712734 460782176 684682205 719668653 258780530 492934539 699871997 312092525 238295574 616890221 327178624 862208410 931500398 725281152 516258065 624454189 439706460 407874554 201464868 238511831 364838214 858608513 665271909 349483245 390798109 126513945 991919408 171611574 241147392 985092917 629768589 830301329 750368303 332226498 950289219 861483504 897345612 331646960 812005568 209105789 202025220 766215818 173516035 626181561 902327903 951421806 132039187 356407168 404197289 362945084 165469474 932244333 547629064 883433255 493265292 719585581 491192890 275339206 318309587 263740803 391583474 731850487 728608087 531450975 230824399 166314831 708742689 340086188 278477980 983488893 713315772 106358581 998010087 172471946 815799814 188602306 420518521 250668833 115505032 772252266 520134271 374670704 147237590 487390378 507122342 520097796 811877137 655816890 386464283 409467754 881218333 394806010 487614885 169181202 870913830 806297593 336238851 159921221 437910349 671686738 146853612 555754442 446179695 249078332 312289510 844058389 988812967 667056443 763850181 295668126 644354156 606350848 820654797 256792044 161042001 489480367 592938263 780815566 576394411 952936933 437350169 890623340 774271654 724880059 551655365 482158647 588926927 187179636 893092292 445163628 636169741 620203925 345868743 790735158 914259737 752646233 137704650 296134926 936732128 716116919 499036918 878964727 305800238 230216964 438765156 337112315 519249539 398637397 343157171 285059750 439478399 425233417 213766661 259031964 190875968 426916539 364224950 440841970 762054607 656415995 102956317 453718064 485733395 288659897 768872235 399373609 692757224 557273876 103834935 329803771 810571283 459369625 283784735 213725717 373446118 730520875 762460623 482487719 237544683 975864178 710805368 393579005 537093226 115667095 914719297 214617894 501194319 854565620 380489946 336312523 134567043 292224654 971736515 834987162 335099310 254819008 548533805 530315493 665129659 627544555 354382124 226182881 556161358 527172650 890278384 130353640 632126403 162907165 371114255 892948283 579563642 592904315 973915285 922606254 211816592 843097845 301231183 735626505 399527628 189662057 476370448 560776850 703322376 555226959 802359014 899080926 486436604 218391132 753021376 941070363 126033435 536183092 232915444 386052961 352304504 282923115 444090195 221023867 651749650 227720090 256847913 287906496 601276557 183764831 142983540 440267751 897942577 862205740 882128296 424519285 283291763 981047364 267259017 110652560 164179880 232088080 846898870 704340154 717571426 815813438 617631824 259752840 152166973 317853863 401343050 945640997 867354878 501427510 649246255 818822206 503555453 796280449 881500794 355709999 958813234 250647810 744665021 366796827 549098847 558012367 382645468 952962779 702676983 110609245 172080333 229064673 969456686 142501516 460108012 999967783 346487262 556939386 324667643 978375025 224518549 178919898 638000769 866289572 520635107 896371082 223205593 553173409 936334311 900605994 917405044 802620414 499719115 519779387 610302653 858222509 275677399 870500875 122900800 149232439 686121940 599906677 397507140 319024338 298024585 895272659 205046685 711972928 967682740 893700400 241679793 538925528 795002449 535317051 135266487 649791514 447879937 732437234 485118008 896781688 254701235 460791373 420178655 218289874 918076239 386499996 562653342 780970824 576281918 414749729 810462631 514485226 298558647 322428936 624428931 860734205 973984982 214707894 858517881 795141408 923982829 207570847 674978262 127864440 462586690 713073409 135255545 652119686 628249457 845366524 193934603 301654610 696795521 908854437 371501931 598750597 986092941 463306139 164505479 779629573 848470446 955951900 348293957 651250850 554443379 583755077 583305033 687537331 315809140 734205325 673682591 916978932 935585748 517388307 368716312 690918713 224382161 541892659 471526945 684866059 145843098 285474867 727703260 223257757 606418573 820045816 236740197 469252056 290573879 554410652 813192107 667096652 508557938 999280311 374614648 645201639 315537069 141600198 596441974 924555949 848877360 503338759 684391173 129884521 737748276 804802036 987871063 939920742 864213442 903445055 785473632 277719208 107750521 577669439 353499446 174668609 963061620 567617715 234884655 215037777 495154883 661145118 670180650 138464929 577123329 722267675 791425582 817704266 651231446 145363842 115363100 921624183 534416332 122158996 205682591 876427092 977258714 410825255 164622960 492417889 457964669 612507677 604083388 702411899 444446865 919600433 251289831 570934092 118742520 641789885 222164370 323110790 699281488 889094069 892815898 830525424 912807143 972082332 894233387 467255884 908788200 651393463 719648292 464385590 162256870 859446299 513777959 753731643 580767347 291928759 143729719 508779377 657843891 355539382 343886015 623231805 490137504 107551069 548185251 917727190 403219327 860327103 370849982 918868856 797689276 725956172 499964424 477914697 631567622 688568902 560662311 980948461 372562058 520746628 583019929 231663187 277493090 789389362 419038556 797799284 933783597 434445854 881610567 387991335 870287189 303319372 729424792 237968588 404486691 565234506 166364784 269976894 683712456 668100542 977302996 912553229 979294676 285908246 181249045 613328598 348542910 337578810 476348805 709653970 330687135 611569142 538056721 655781012 642594985 868750392 730412351 120828525 437039698 721457610 527774863 465228251 864184018 466798961 232881505 982681337 128624487 519284693 961158880 292706252 892626759 493785355 866768772 512522209 685195403 323897966 709988474 394576471 716334946 375098333 419623760 555805085 859912447 727633219 386470979 868666176 828012919 146379675 209086911 776130696 999006599 251504273 583994079 452216167 843399225 328490579 580104808 366886705 554071155 501310346 248493195 577399790 577934511 863417105 768475043 596236703 144691588 168739899 995071125 239297625 692484077 236010977 297921393 262952268 657785534 741737589 302981049 355236357 413448812 839654435 554968119 981079344 816694940 550836965 448877443 897197488 627080324 871531973 703055185 172467920 968329262 338511370 942145996 843452629 871984885 229548120 491331716 616500216 822073096 256812814 431501416 785764603 453692481 265651594 939772386 478730311 875160036 433354527 425008861 281649210 414515318 135829331 251847050 174714754 277510136 481614774 206137096 575693319 614769125 233107403 393128540 119884901 324534305 954530266 135071894 107342178 807384201 964224202 130428204 570865026 184084093 120587575 303049560 328325882 419484304 331454108 724278706 504081703 991018672 217888391 591853379 516115922 554536986 943239718 751124181 430179043 601970397 193315065 194776179 458632337 436163352 702589369 822579187 115930448 399113094 370582863 454511890 631372480 201729256 858770444 567968830 675774563 384217524 368444552 209912503 874755834 838134184 223483651 546740640 266737478 809302958 959885344 759202291 953320474 245466169 481860495 939484779 562719817 577060100 751887133 708145640 500358608 908441050 639658771 757132868 819114638 373079172 831123881 185579628 528801086 526192351 359307810 778944428 363411315 805043569 344108326 902762534 666948694 972021940 511827564 332584600 859926274 129152371 733690696 440206824 544096052 589154211 181427758 863333673 767737701 377991253 573309856 873848335 150574936 930213516 362730625 701847059 740225278 246575524 123529090 813928338 294830264 956128717 462331968 743335727 233430184 890974467 523940912 461184200 185563743 105593294 986286136 362379085 536434903 477689264 843592704 104545906 729183497 913699204 305225764 768929422 691937024 711971690 673701926 512883566 663684082 812860433 998096210 969155848 536705993 682662851 420061567 420243909 374504060 926841608 407590509 928899606 242019168 398657546 855419907 284706726 662233268 109758006 586599208 332581391 113191523 296181878 743868838 221779166 932853033 534006611 331630549 183004601 222149327 327622921 264097724 988906041 186294791 107433574 572655242 192533125 265544620 388113208 151433749 498574010 851060145 663332665 143393476 727809776 521435611 420123521 498623020 199159001 127922714 411168308 546066557 773619507 151331148 573654984 665065355 824733253 462913642 624191717 996126379 178512406 704954400 335064683 890841531 752299718 209202372 444954288 778882393 826734578 740520974 657547686 976314918 331793394 829750731 892252529 328076101 204940317 769892609 604086337 503864826 518608801 325964381 267031855 529085399 667999467 521342866 435707919 904196715 218828425 214849115 661839565 820045096 317640295 200202766 657218478 306402422 715747995 317288082 559010723 796275817 630815728 452421812 520580474 225800067 985872541 963701577 487475559 492931644 708893924 753242619 268577156 290787939 815663091 494920298 175477563 810825461 359048066 774173005 828524374 123960249 780666402 164040199 795025291 441414090 765228657 409975915 979362146 612423499 836667874 675625594 705098756 176105097 981193860 906983495 594819403 440343449 415988110 108362372 584051302 574696111 279674364 539432013 201010300 105043208 190817645 970347943 292631078 338826956 652020731 128781377 658843245 277338820 284034471 690058908 275682927 370061750 782560432 215808090 206192337 169695393 376578949 207298442 467771689 766689928 337988545 390850216 293474572 822014674 410015599 395037803 171828101 709126241 531697181 243999163 553718265 768287706 319073701 680483057 175554546 568861185 916232126 796048712 385755644 718881752 943859773 235186242 292123006 930432205 386523047 370416714 412204819 486571931 402842690 396129149 239270616 497421826 201476590 484281064 156703532 671781645 448519699 659725506 156699797 232839075 346014621 912577889 321132303 802390473 892921481 322016093 478742357 881960361 349311050 833005289 838965525 445231337 886027890 973651478 188505792 841504921 901135525 445815324 256494425 782025238 580605361 142841305 636712109 981534297 228831706 284092064 882804065 436007726 768028381 406931109 239857444 240835258 382419528 829964023 446208587 896806831 848099772 996485591 961006229 604354356 489845358 663562400 472181753 532293553 168030320 909308484 406598581 288325795 782207680 997125928 406769254 204706555 704805612 648384088 855582464 543939017 332841972 135391009 597166004 927012532 439951530 639708752 106954071 804262459 375500412 143706258 658827022 185488899 534774854 568955645 184348635 612533757 439374329 451391918 232154718 786655710 805766884 725093579 540926783 856183485 371621749 668806260 872003273 303312244 680427968 655722462 281066959 367389031 251731114 922699234 689322460 124247279 942440552 932815308 629488085 615495571 959942116 239046819 660884013 527878132 780153060 668454095 391754707 928372467 749044322 766401027 742336713 771965508 583401538 100483289 632859167 984664689 992898412 968976441 814007403 298448858 165024730 919266122 496975961 796675912 490138490 355189500 864425822 536319809 926165104 813050557 839972966 923375946 318531990 876507361 560861127 642755019 422152543 985332264 352185756 915605240 878830955 890562562 395180723 530779185 782442978 409799383 130442240 750677661 396139218 474443680 689421317 983544808 296264693 225326298 299828690 306503176 759470347 498895179 954309718 244809289 384493818 927029300 780992741 634100275 178367370 234632540 616278508 475658024 641648043 816271296 829032000 963781800 835724406 202941182 169450384 393941085 141201309 121015700 809550404 505884848 274172349 555006621 826404961 567622240 137110067 518107062 115467065 342913269 276617283 329374191 260102158 518242343 232190459 358751342 532322779 113885894 506533819 818105904 495705276 720389682 686526123 822959619 124003013 350618481 471356534 580141603 408623204 926492280 104825205 320850747 927961389 294551093 803664891 175448179 153012120 130564931 504190924 167457350 720173028 381821787 290409942 383322790 657429056 525639441 677872838 755111091 569701282 235979765 221859615 926482721 780601871 297980848 545017331 923541349 880083185 316989999 369787027 802291325 587047702 334295622 152982939 852733123 107347802 295659580 802633330 997331380 249920962 965064441 280408185 121649838 626637240 613083817 900816710 686802199 790978484 252868711 883681199 525991726 892676316 898870797 988593150 321595306 812958556 211569024 948794878 284244522 442798486 432833898 129583507 697203857 865838114 654512515 613423393 725171980 768324807 586880144 179387681 256931711 992326334 303969931 276258834 978541658 363190727 518055931 519525299 931289699 787868247 941705276 817256908 905075815 715574402 487194398 630158262 831586881 856427202 531597876 983913441 595758812 174063069 713983375 964849075 720471670 490807176 190944317 110236814 978438800 195065338 166526945 903615582 901158858 545686491 708354444 224209428 538802149 781151589 723394212 198479633 892189247 437838247 901978077 242754773 858103549 846500360 888420274 427038625 299665956 968020271 554902543 544683826 397759659 260741266 381459641 437280096 749607101 522793025 560317798 261115149 423582993 897035857 436133094 202522158 488374410 408064291 499171185 579556747 616232199 320438419 335223229 499701124 236281381 977148043 258793271 555023962 154098168 312431798 506883207 736768343 412577505 648351454 727138969 563639536 168482754 696297081 922496051 734685234 462555918 742204073 399287026 626815349 683501247 582152458 580944092 884341547 411116821 220523155 224363237 635757867 493647010 638250411 232846331 744405281 961190398 858354387 425046134 949286929 481411429 887066139 563371871 834078859 795898907 606023753 635995102 789749250 880270151 223482087 961098439 732934709 457450665 170383562 640610298 789391936 224165896 167363813 224951230 898798910 229869896 714949857 157945920 799301540 678561872 429735790 635111728 905708341 186156727 796602146 844437464 792173304 482894344 330564343 628564226 549817831 122308228 717109816 476636414 612624456 457745934 248182023 106249312 926762642 772965279 517592088 972856802 383807672 163973490 303758381 136199174 181102191 748115681 886843844 209379012 170912369 844004246 707824744 629701141 559645235 624831730 773428245 672947834 261507353 837816746 958207998 281528927 275517672 914667392 800054325 848747255 769825108 112782609 673142335 548457463 539809842 363123462 124153581 541397688 155685886 493328359 750294373 448491760 812054736 982157636 602806300 634293927 744482674 497718263 701389331 150863357 899209614 161678172 818829925 216749240 972773718 739677390 516896515 890455953 421619546 419410894 544509182 994157798 574897413 212015952 666071501 983524847 531365666 651779195 377415857 304604552 606816712 929734451 767884985 294617641 879146013 516768926 813663191 327188415 452598802 575681585 647519507 850865908 334595834 925213910 314619799 282280534 442965345 687085864 277066411 943993617 492671372 115764754 937011889 412015378 477761095 356002708 977542221 531981541 887859365 898839586 830388083 703020232 565352511 189285371 380407920 287345518 339696098 529272326 726276477 108093259 394566185 675731540 647420523 557148888 279320924 529111352 463674175 431634881 174786714 754162303 248347109 644799134 189643641 558589579 320842700 803445002 974994025 348636806 819509554 220213282 776420848 785013697 137729089 366432760 275882262 929734589 564860981 319699023 926936008 527812190 724077549 305229001 136192384 719960512 412568838 164079030 453221085 426036537 453852166 165585965 557731581 468976194 448594865 320717365 301051279 641479400 582167569 451042829 272497680 546138236 947911087 282043774 420924504 185822619 805406819 605078363 346741631 488335897 153458985 464181422 639518274 777712547 741910299 733131737 558292376 682206305 776418214 286451219 679365307 249197492 774018291 247576637 443323846 429788853 635472422 736560854 887893139 962013773 972665490 627858830 476754005 167080330 315295296 129447404 274577730 583790042 532445577 196135677 999376799 326016682 972259715 784640437 213848217 627305973 818384827 313293321 486041107 757059628 303325812 147035579 899494976 157974623 359454771 982815474 572184571 600868549 816570328 794397431 825450349 685682340 748376214 992437285 716879803 642204369 743705702 468403958 683422165 349862705 146689915 939350394 621512962 841956215 802927094 793706763 255103384 395232571 306775196 508472692 145166516 424484781 310772593 990643050 403511422 216322054 780719735 134954524 556306406 699639796 201466832 874423440 378986118 944087696 174197610 883804380 246675243 448507339 867171751 363475560 141645387 964940162 165103327 257048206 782392268 412753629 855483046 285139120 266127168 813645165 681629874 570123626 506372787 115795286 354605781 859506709 751051303 780283700 866927825 445896439 162206637 299908869 906467089 892611987 610243067 569399933 625780907 240569189 123662066 368296231 501561109 639289495 484075841 541906303 919117308 684639015 671570427 190705533 799048688 723836706 724191513 548082214 205478169 153678301 967998957 103465543 224893152 520965578 716144335 525197172 395057300 658231152 137492417 553515822 243516030 877640848 503165335 769674149 281307613 976883501 835946242 637647690 253321489 986579374 653838153 854946339 995902285 119477065 310324488 165482511 448968075 711135018 570355108 771694983 612932159 124089366 629435863 703859950 123854599 401059748 651428033 488641707 675623995 832387984 573057249 110559492 822936726 169251287 726581443 964884395 422658523 797335808 738616812 459342207 231595462 397417017 114352141 538792469 412563864 731944876 286142983 560029046 386658262 651179288 709111438 647136980 454984095 946398842 332697362 539602824 327590531 477611964 182783129 569347171 721408697 863590726 127268534 642252072 540065061 795902194 499461833 150973198 187932546 483702792 731007697 310613214 130973014 378564528 151014539 207427060 295020415 505727863 571167260 198098453 492476313 838307364 171757707 973626734 513653985 438852771 312253123 696941085 983318540 214648480 458422750 393404182 264153082 611452844 188612955 381723842 482993367 975883416 588902749 549880575 151758643 622286419 926047313 796791835 166868542 336406515 412291193 417373122 724658074 424084122 744992190 234278702 866395086 906745625 275332330 692897707 244008811 251126509 468697455 596600203 118496525 103152702 264484396 730648921 968653527 485910584 267686911 781280982 742467294 358915213 498169640 356494572 927038677 139889435 116629229 110208786 621088227 822399775 167207465 727108045 324995560 566404068 756921983 645488338 772038729 622675176 901530876 364179134 649651500 687969351 520959783 532595433 260091559 847813983 212479433 303036278 795577153 222561449 580798466 852484068 130143743 574933657 917108466 241008221 927783533 312124698 669022266 950888368 526009591 164125621 210762589 743255103 697071211 693654486 677487244 650587475 620926949 334653992 646681203 601866713 102231629 253680762 155913001 138781293 458828558 665518743 946344180 885577147 386085617 831367492 555853352 760258858 305864057 326466054 777615173 583526472 503429912 136620484 941569087 701751045 455515309 811188465 420693835 312194293 863845268 652249077 932361272 978988378 474347476 795951426 120064007 295171077 921240872 668067271 896884636 456379149 363514179 425979165 929163159 140323996 567667343 579781012 395476679 447804610 940480106 706394373 348515642 720138128 950523642 365767131 532729862 526422086 392872079 949169156 553174840 256914653 323062726 930121983 762462630 108119093 550386189 418478534 919123565 358508936 270261513 837983606 635035717 171810341 221225014 447946119 547044215 144373072 557789080 548005093 791384968 948180677 321893565 608183313 534572310 565556007 394708523 137282991 826945255 997138918 393424405 801332258 569311476 969827659 530814226 421816558 367111142 500635216 857996686 324914573 954054879 414343188 805318464 556666932 227341961 400147620 857866748 983929680 122252496 920773489 366596782 545446895 294119958 589433386 732154410 709141001 267811306 903003359 357043207 982523762 326756230 898418192 669096124 786017038 216567771 698843564 570223256 870563836 698633190 126713345 164494975 519314844 433905572 754043749 866543958 565561969 700808253 488445543 777159799 217237776 245003627 719655652 930414023 369907833 687885208 232548736 203101047 644969206 527485630 821126423 979427690 396960708 249819858 870410675 609198498 648568419 962572678 318851402 707565311 670224278 429201346 998607819 777677938 759816909 416775473 280815394 140425133 604431215 897368220 581716105 942024198 555659056 394285423 321975960 463666893 119730400 852492668 429284055 506700197 690745844 632926821 779919859 668411668 503545020 563406804 140863200 655315215 900875331 104087224 662363478 460129374 408568802 101625202 651479940 417624496 521084382 651727190 129471187 265840626 389103909 866131939 700746185 858018217 953216196 678236585 545459377 626131478 927375908 206478512 845371964 709063013 269124766 288699107 621273206 724129220 337557925 977110656 668545624 218180840 661887182 639969883 830153965 211249677 210208431 646966976 471297992 818917477 974002083 625056054 260889978 210680040 354175863 665169832 150236211 690401097 297712981 299913388 816191645 247317528 858850861 772503029 917625797 748064519 322455402 367834550 913141462 277118223 899837565 738186810 481348547 593653214 308697526 969629418 487400670 664271613 368706840 544195197 971082647 712160797 258157802 217747715 203921508 920043569 738545655 423591557 674208581 698347652 812706187 967821535 714850964 458414913 903470225 604919425 149979184 881124465 455485273 808040515 881846392 950205811 974624507 110366233 877070918 921477588 420990175 461406430 292176278 966823188 220531980 782467956 496298453 673873389 379013275 884322024 660635561 367348522 711436934 910379129 750151256 832606405 498511095 521349099 813797487 528743564 113518040 530835906 927952113 824044989 912484913 601968376 432563463 313180424 247487602 964887877 452654897 849307915 956183342 843615814 387660474 715180084 686408318 224616737 257284774 389776911 781965335 509841728 744020088 371130143 589710267 487503459 491721424 146130032 346616471 840195322 445436669 743443195 722028237 748968128 955401065 222851952 954829945 511273626 270831505 971365344 447983642 741459784 107251653 263552930 633311701 214015702 137287911 783220420 560815479 963571237 549817463 222542317 587822322 674107126 311148412 530977942 629005881 157900418 948747525 209109819 564012570 582147167 505936544 342955108 888204192 855952545 789941643 135271958 552121060 152954945 229973712 405220053 827294106 509122695 510614831 177834752 365253838 552981604 491724727 810865957 327728050 953745579 798708274 120022542 781237148 834554538 246144309 113414030 272077477 815832848 352472766 878141881 540687714 827010840 390263468 829428266 582625605 647953382 213725117 464967038 623711406 125480575 450721615 612793654 592299303 320975888 332155609 423124398 755334745 922461039 871688584 891572634 531185950 262779828 664847812 674081350 962484378 178107348 172868970 521479028 208114718 646396271 976498049 176060078 908459028 815214068 498653915 598513357 668345917 148079052 553036685 606956985 230929635 192749699 234248517 223336971 936019389 255636171 582970073 181566820 555542546 808240864 565193488 589066670 447918548 573833024 753548549 133886155 523073358 964915878 955361887 512009198 164137847 212357051 259516955 588543989 260043283 494015812 687851413 678996988 525257781 309989977 965372699 916356767 594269475 517629219 245853946 806006902 206890029 159996960 496800752 442867365 587191468 867749093 316505607 748895575 720784719 320325203 532756253 134091732 334755119 472798031 161204313 278840592 302303650 803635794 654990703 301312462 456313370 105332572 164857891 371629301 254452670 229767982 694240462 806126800 478202376 485450565 637351947 998648709 403525564 176315372 415124802 190444747 704897506 737021207 492842440 943781110 312369189 885099086 701158771 886422812 708036522 434843394 849616538 838265911 579102980 354790642 641916359 484011144 808937619 457937364 707148650 236053400 245547670 565447972 362093886 348384295 859143074 673124834 153033722 442866468 913449020 324129904 401066311 352058564 828132539 412251033 575229989 763138105 708952576 602964993 398233397 592787090 360330088 366378070 155401066 879287875 378344563 191746164 958577937 100241644 535308325 859100500 562182639 900916616 432674218 117865350 988280310 361262394 550972792 216553573 138160357 535591225 198516088 592844804 397320088 496753920 464112600 712565738 977906701 235918906 776862251 261065096 445191265 950753398 179850261 353721593 991689136 773136570 332369054 688812088 177259929 777453999 450520271 179755009 717317777 384548982 452465719 829231134 498698298 650932073 700922863 267677649 197253403 952229289 386349914 673248601 706736370 442849588 299018262 203040943 253929365 979044796 363687860 679708104 260506314 977555851 560391011 511796904 661048285 296358422 421283778 805795660 748889545 442211441 231162101 105165193 603151384 664740790 567472343 671766594 628574279 886494499 390660623 767646972 768461700 895054415 609268131 154404949 628589246 659189113 153080011 634213531 601003460 746239702 365523331 849165030 993826124 172932667 530442015 538761371 882289351 502726895 283761959 866254284 363755181 433099049 638693652 132289142 249063603 928137407 128455118 285436976 200721529 283789138 119353101 764433418 477545488 123766492 648799254 255520562 779772435 530866449 527607322 201151441 392280021 145816480 909531457 894580033 933813142 114037129 528577344 832529374 689130937 232059064 227867420 515564437 615176433 473218331 921265438 989802144 571110311 914404391 390013506 378929757 802803867 393106041 462966717 880518961 471632164 475588830 197495072 387158204 146237895 937591711 524396177 602371086 460852593 639909775 872760177 807007240 964087717 326063629 449249158 936540462 298093800 791366012 879837282 754229332 936162085 865620058 380865827 126496852 718227349 822982968 804278302 363181369 183347791 680715758 778986326 399109775 367341956 654317994 701490815 360695591 286016994 558575415 319922534 977950581 141068412 486699597 569390465 290845777 277681429 977508029 440308069 392237131 519608426 101276038 904245842 234308144 998757972 130120998 242189764 325170927 987664666 583244405 593146187 911644905 168963070 770362031 909107941 126819097 788373827 557454646 284012093 863810790 230958771 283845003 171131622 854075267 119653130 715583720 948972891 680127866 968657969 976782974 539080833 900380005 711537518 719447585 951584726 546603571 613098332 769366229 678321717 735218505 725070444 500404094 981884905 758138985 492130521 484180640 187510588 813530898 250162162 489214373 450228935 795553553 930461662 386178313 385047592 750605295 850655890 634898527 477440234 564298493 631817746 896948274 522972309 792553377 267775058 841249172 736164238 595757663 564737142 321847053 588145286 184516991 409656933 911304035 837241917 389312564 865406415 874852908 554340680 175646792 332664206 288861083 519725080 280989319 326146870 183196076 112119709 236412793 520945945 906742003 702869603 283170113 498886913 862610202 433199540 560283289 364457895 282461751 752771031 775849440 652481240 606629923 535544893 822156013 196547095 359796933 113115845 538187327 751849607 816125403 755497837 599227577 515792726 761193643 181052354 707373620 294387528 847278872 880154152 685796642 347305095 850011276 340702034 618576430 879309370 699466015 537360495 685832512 610958159 692401762 187043900 274107588 606693890 447380666 910991026 711296434 622143328 423058670 499456780 951486382 298515381 665231755 772741921 545010659 950302085 527288298 859302005 626075629 901954303 631604938 593141803 923404819 569842362 924564795 177488086 933895238 226704094 166569685 712457584 955017942 182099786 524180370 886388178 148885757 970942388 763213506 343577532 498265413 831680765 997863538 470692239 991662683 982445278 537865335 323129453 367852283 771887517 475565041 680097748 529463135 529239438 728914313 244987159 403058203 883212318 123745560 492583590 515724514 167590883 576783248 500532330 377590757 278113291 213323796 106128879 256260605 228465684 756561116 869917773 463951196 641579806 109797732 612495791 835249696 525232645 583044181 231760001 869040182 816639348 226901926 611931505 903879418 935518896 217328078 665254518 396487406 327275250 715527114 640140384 853317540 396940870 838381707 885076789 163999133 330863022 334136995 601182672 825252585 990756056 138249020 595128585 133985562 369377105 339868322 881902444 210944518 252908047 435575153 231561999 991298496 298710748 501902627 541746393 460884430 699275373 712500402 972055483 145091662 639272050 809523825 593687420 510904126 954197490 417667410 859488155 608161760 898304655 977875086 603332487 356882756 643431329 502922552 779479591 899493474 168913707 577908052 711945592 482034686 160105667 620388877 830657024 109460738 985438223 886459642 483622886 947215498 435788378 659934720 679390219 476117400 680539053 135644035 195969019 404371222 486629897 836859977 192965866 417312146 236586557 377331385 163298638 385498008 894105993 836645444 440464559 576122709 960615435 718915997 567842758 418230352 450266771 778637804 107839137 432131437 575835090 667999875 970186170 797262400 220358272 866278709 791543817 909848991 282447673 923543450 332197706 614671540 850966366 162323101 252469280 753307921 448387183 364905441 129116498 340221227 646979775 993152506 268167062 219034573 838064159 333184510 478896422 806009161 932657389 891435748 312136270 723281588 969476709 635550574 884975947 697007449 313306737 965174874 865061101 757235871 587491133 128573501 150422446 770362591 647277688 879846471 971746126 969885526 960874866 293261425 520781556 196937332 533609772 463841576 489725192 627954144 883906302 527338863 165487093 888251321 456812833 370278096 191240333 215178269 874840807 593476389 575564017 945740278 427392132 103288574 469017105 437498113 337863444 770901019 472011291 846643421 858970887 272080919 856989492 470547544 585213696 859691722 882637823 149082627 536723055 214867597 647844243 952921283 535336711 995059583 366767149 634672207 314937494 859824790 265079329 750559825 721630350 582125033 806027484 969221931 866705524 943765263 557883024 196333271 193660794 981659488 603057263 113767749 438623715 864826653 807019098 816070033 913174253 648862389 730581148 543706986 714853020 529970169 417212531 136570696 234509880 905663326 818806722 147708375 365934540 719080837 883340651 289707042 581834318 859367246 751138057 433727588 383294398 922688994 612392083 895182434 569509421 763302616 618971224 455485310 408442938 736942847 446479504 785044872 104557539 189373848 201693120 579804433 362107182 246087725 173774378 599303226 466482610 245962356 247784811 610541139 798647106 134970943 978086632 673574900 541439503 983635807 131359452 868549849 985790378 256568795 663181470 743055297 893100723 690111812 671958123 149652088 886011099 165433310 523136032 353845876 688012703 283309572 804476236 578501222 805361804 475982193 527723969 529237965 603489445 270762443 860578273 908430107 549652725 734542008 654228618 499841762 297430807 292810466 460916591 543986758 736366658 505309792 441374226 971424322 977873823 700270539 542659087 494359400 720422650 963373639 273646914 236314071 755494522 516255221 550734643 155773979 156242454 396181108 552866057 322815402 270703902 232755572 452602160 731370321 979324461 874576765 869306911 551915237 344950566 206562082 406055179 603461625 833376459 706764477 614187952 542366166 559042163 911497344 137212858 612604605 696697332 733859737 782077438 572963499 434364779 815186844 944591090 468200474 276498367 409936005 292168085 789121436 789787683 531914770 605432275 677672647 155499434 528882644 226243026 262637761 126726277 309544018 933083477 216796395 955982527 177033136 259577172 768921771 496921211 753453943 176028204 699376741 114555654 790459159 786382663 771492220 807462186 586784907 500749434 388055446 611853023 978557548 885120050 984632083 790018329 824330764 228771407 495680024 743535020 270971349 957802951 347499434 246496536 914200842 662801730 181686321 336380763 339533521 228208147 559569818 377654031 160492897 163780443 703818727 416094466 897264069 679184084 310260519 352629808 877223861 495904953 582012144 855000813 664592486 965122553 443526760 236291420 624787907 139420946 368419576 104249775 865654188 989879382 204021467 537466531 595112538 874729459 143224277 453177424 566011834 798696634 213772675 575074765 907573884 452194599 441810262 264534992 787763185 685159157 466081465 252270696 826410015 635854040 421816513 750364445 282186558 158229808 149662805 467789463 749349894 953646266 734362301 597974695 973753846 371698252 110466284 217996496 302579190 554922787 470561284 790892306 371486507 165195138 314221405 827473221 529699440 373610400 492878758 959554802 941703093 112593950 903704056 606985526 788989333 479839601 652197084 964501998 286758382 346411805 376128451 198442854 956617967 803754983 514714535 285248655 251486942 572051740 145002403 717794691 960910505 425015875 335819756 586417550 345920006 772050942 248648322 653992418 748591539 157223869 881383429 733788998 326091876 758690727 647418258 810625497 635503707 833173712 248834391 750530590 215646340 181368001 921638985 356424493 483759397 181238323 999674921 374961489 522601873 486619444 540223230 184381831 298311171 500929395 930189970 622269891 984939949 118869167 358678981 963213454 718870275 266205138 929611741 870539863 562344413 406487028 191871547 373169675 322999608 342489819 332390964 765075009 388673611 539303458 753919873 470238860 624995503 714190771 998611214 930907870 733570048 503179411 882530503 773606216 713771583 653632739 496723207 209004652 654739020 972662290 936508626 612668721 294587838 213491141 771537442 249502075 812230986 634370248 782913636 690395775 763610419 555890952 922174269 409384563 501499828 859179852 813528984 584532981 461018031 223271374 693366488 648646732 146680291 598514496 764751725 386376466 386373470 861295258 374068940 230895425 174370367 496973672 706228619 581272597 844861549 859367993 566381572 343515792 172186968 192516478 728485075 746976072 685925396 445643666 776155967 476926853 908710304 835797051 551857604 533088224 849121980 904505503 350031005 125202177 470792780 181114876 592834513 322323675 933317759 595284074 428342762 591118256 306636782 251583982 749219243 376506725 891691477 506406613 176692640 885248425 196491252 284487019 434095545 200896908 939150365 162944136 158629922 541423026 521097324 120913800 112444143 642565008 321976839 106202709 288970559 193283548 605586246 350477757 759043759 828977253 402929517 491620433 487623879 187976974 696948444 532525870 378542067 289097553 717429422 815175094 286214114 857712454 989951912 849803004 201646185 365221209 145990648 420699841 370892274 352867268 282890943 917432379 427510923 764784030 132814439 159430556 987635998 256483601 989787727 773558954 593224115 473978513 808625345 567999491 298260346 317547518 797584338 134183733 686364935 669556471 288700964 229065799 378690824 855941935 189243569 621204090 863427993 555278185 881997631 555983385 573533000 490682503 495406381 134399169 667080775 207258532 882118245 902227701 640176749 766137929 149249922 222317741 681740435 502420578 904541994 407312931 444994674 942869705 599139601 553630548 755960983 290545074 236710046 429919999 683277683 846111495 714981996 973097187 146818250 242984105 852888988 765995272 855897768 585729153 430750959 763812999 806896970 523589852 150368102 884465285 273769079 564310370 861104796 178884794 199335654 644739824 727191493 731231109 523192913 936548451 747852875 593438196 735122894 105285331 853242966 120215618 402570113 907808243 164606789 972956718 509381995 696145285 134736645 302238518 276232135 151329149 632541524 573132869 804227890 899808367 217041807 611087795 967895889 557897909 728207026 194063593 377295250 632968382 102910043 782146279 649631069 913469399 580883803 806724855 988872473 181585320 611683521 115921684 525061996 307899490 371013207 425566361 287744085 627496243 631882418 425886021 629940846 862258511 884666402 897633305 820420517 667277565 490982164 396198470 137823690 197293937 833571599 371541802 618305639 911280615 334458118 117711297 667298136 302116487 873908694 548014220 637197056 228850581 302552439 516242970 551274736 508301928 725381192 599183706 266816565 369581049 838459353 231048354 728890638 181941197 924445924 649212775 464230657 485903647 773589860 126780393 640264181 400094008 280691361 632151620 473104659 539902008 972414669 124181659 495717941 545888768 195004324 106638087 291835231 843001004 180511788 705813630 133656952 772423294 852806690 617875523 875866471 110971547 136641096 999692252 985970212 532102509 369508697 612579192 758091421 780301777 639966513 539766745 663785294 691775623 942215670 534612170 247929586 846366208 318499369 281107349 800872615 316259039 857248883 550661510 308008304 257819994 808390433 872113905 176446927 550423023 629272238 253933353 858945746 579035419 605835305 713739911 478092364 762602296 747574777 278118807 802776841 668748949 616102603 841847927 925233065 539120000 976207474 864549129 249069991 838286769 175965642 117691066 775371294 561009057 173431497 649394235 366949294 325648706 120489131 408013151 386740783 324812519 703497884 226820878 428419194 675606027 228620745 105681009 879977974 580377787 888507246 966376606 417780572 749749395 436336868 819537208 519808964 604410595 547280726 395149381 827922407 770914878 424251173 442977348 672318898 778229564 701996452 666163047 887677499 324444406 904212638 228460324 615065499 821705079 316189961 787048623 442605800 861374491 677154840 831890237 976758991 969299120 125800491 653936265 181442709 497238382 304243563 172551446 758202326 856822681 348715909 416891214 680498718 420752502 265163946 524719310 452534071 488992811 309961397 105637350 369238393 752846598 149002901 744310648 800688134 838563515 594350781 854656753 528761028 394690883 511700378 713622775 117965313 646231936 764571305 827747406 957432919 780896683 439300199 374652721 992230364 537413512 802640881 955559621 155727335 763624418 172674000 798988045 853297517 593499948 503314550 986443249 933877005 431476444 331900813 919349823 416395834 401570184 409686012 247281098 976641997 796928539 487989627 205227077 891346009 637499891 407861309 463710320 849249149 804370567 735397115 482214907 303123417 111222471 851124426 641135093 820835699 255602262 505771855 976203759 459253575 484840936 729468344 210199343 920053783 466504588 371063227 101858183 474269623 144150593 588838226 964756053 287002721 181569230 946411849 285162656 692680548 112438728 301365868 131025536 443700248 629416409 215292449 277966323 144263944 319917625 242838365 491683031 343285343 445956116 597418870 208859480 343994177 144300539 631340268 194972219 614726843 985929629 217183130 432410884 460426416 675234570 431083714 757514320 182635096 609152662 541885934 956786794 143513999 562990144 580693074 492488773 689841984 383198204 461203647 333912542 308892037 674130105 931085175 696614435 767422378 770144835 892219823 165776553 128140481 224096264 944324918 724153974 937504973 703872176 862438529 932802698 934180714 748440677 130909635 116948760 686334158 885339665 857485234 507928899 158967414 752326553 175758931 309189900 468448928 670365904 749857831 784072725 118964519 797991468 609684118 804405456 708756164 860013107 222176488 997926987 603550506 735373451 260889142 385354671 971350480 718493016 921398304 749902890 740278101 684594122 447761442 915572110 792780464 504970549 763303880 931126442 167374374 175893501 418510903 963316420 666644005 562500291 576526074 739353532 828161486 494725146 407168709 913645318 419818144 866628637 873830245 235474808 362307586 975035027 420133711 880919566 259928972 398374222 238868029 175601999 376336159 468452397 752159546 393870641 143750838 136232736 473995593 462996420 537480309 687149097 386104871 915557189 267950101 922634416 168363545 332045438 660346250 420653828 548185795 437870519 650314621 707332184 516720419 543605058 418550321 402944954 372039048 527662954 295672848 845557762 826981353 197600777 912012032 338649244 730370929 251616696 265974351 638729836 758693320 447110646 799182113 148092101 353573657 291851222 861422340 824168486 967733222 866275000 397823157 118593802 131868656 229563521 753696153 361410353 142608836 774575533 534429170 814501253 653830139 827428501 822890023 632325756 468739337 112046063 220388654 210409575 744897709 482394412 360238626 743342804 196269852 110597019 306405313 228734749 311014709 121863133 807639214 879221461 171912129 689288730 517896175 342261482 866071697 774080134 758101982 864440861 285075305 226999098 391537254 793778966 798790408 575031773 279806802 906456974 187298943 852188043 696792915 819373328 623978562 782388056 175677342 851370746 419006525 406435096 523340959 468799333 441494236 498091218 321468761 983535204 995081669 940380844 670235566 527274401 825962105 219030313 164066568 743500759 176118481 699097997 791254522 103578994 934758313 424890926 407812383 582308455 730960928 856447980 475809993 650446158 481788183 278672489 317527477 786850846 970885692 608708292 926858226 604732239 599453117 479939666 339262256 977776847 425509666 554274744 967316368 493049212 599522525 299604363 247661124 353774224 791363792 382488882 489747024 655947387 387459620 945089345 377577885 801082397 282692562 819960820 695844797 945668108 429648937 252750232 642273879 577846528 346298772 698292468 641965326 958564935 929698429 589258154 952773192 660667302 858824341 112051613 256026130 806491785 795743573 365298704 275953297 490875434 234582360 333611737 994480933 873230474 693375891 677870549 870482274 957962461 986202930 859511581 144054351 728757820 836564050 244404609 738341604 218483399 738201255 166217334 181451926 479577237 304721967 126380839 986388959 403365228 288945421 582892214 735545131 494686862 264935520 110624180 897051431 565816662 463871162 659405718 398396092 937637596 373606737 201388569 288009248 235637726 833056614 163176592 804608558 583888017 534947656 927564758 578224300 719215436 727596724 384284335 257289577 225093726 206085123 464939722 409017637 608715647 940532389 967218255 511954621 545817957 349937011 264978855 647355561 739086005 396374839 245721885 607442013 423203056 292104748 761109671 816495655 443083806 201092603 812620529 534267728 669814901 805218467 238596082 510345036 725844742 540277375 575854122 864465448 740130503 879213220 167454740 892291906 162486884 934402648 343915790 492854860 629644243 840929467 822253252 180383449 586653130 738672846 617009780 116637112 977922787 760936557 683613318 827665507 441299580 290762005 529983142 138938231 110620410 623792339 611077863 431764404 789945997 214553195 760098335 606754641 785387332 189167948 375186485 969751058 963526006 693990497 797929569 933387848 899146681 300279696 698129210 310497722 885199817 266365146 992648212 925538437 909596193 169801408 550910604 739448759 327831569 904257511 301378846 544566725 818803966 298828757 175377367 206030620 259591328 931626373 347601213 999105378 332917741 921561807 588802112 276017145 606394564 834726294 306645038 514654160 948234724 543343580 825559231 789359340 986711219 826541303 909025191 401957294 885815461 454483879 646819141 148712433 261784444 891567125 397417348 126023738 547619795 908884215 510526428 591696318 409064195 977938368 268310704 771379118 331628327 588352858 160129411 907977851 977021312 509753515 211674004 837407745 236654627 510980734 746191235 147698515 565301466 949463787 418131241 402811090 938735684 322542295 818561051 731614827 864169761 729576194 524998129 766031127 984698659 316249672 117806285 933004252 374152398 787511104 173375333 268734892 358380699 453573304 537244357 122076933 971015800 122093776 957564569 423258619 634499385 147603679 778683505 867561195 401842916 602666201 375513435 452587679 860857185 437962642 780399014 868172580 845670977 329339377 833082348 562712259 313347519 404778213 638875109 126809025 408649536 378781088 618527165 883332110 766491303 537921687 468568791 679573259 260227899 167708879 616291568 323537847 671177520 774895068 633813090 763992250 988628728 258068445 256721346 639383062 754363787 265497917 316421139 319030727 583730011 514833265 300165173 584589835 390247427 662200523 111976518 762863654 694789241 122830385 150371662 211277242 357690436 773961486 698733950 344280134 537050679 761561392 775190528 503500761 741518078 808638618 442080194 570423858 820137884 739839673 739025820 334453132 120669867 471622725 396897463 672438800 905322654 201933459 328080913 695611882 444736661 290510809 105137797 340342144 431566900 220931297 313831118 653681493 526038253 811539036 655678657 437440860 521690479 211698670 705262578 883666370 101657818 644779949 204871254 537036212 248096912 336458435 232236820 827786803 735371066 681216242 941529380 245081352 274559430 931800753 185184545 604390621 390257672 649401021 207257977 661252287 104086505 836822140 805860585 963990952 515888721 823281788 293331765 529332294 132359569 813215837 513430559 194550569 319337521 687902329 111172194 646791044 394753429 878843950 498028845 816258953 681184359 703752411 134703069 346529868 261089123 522316983 305638444 728287589 237912633 305528030 500464656 182214628 561744891 133818705 203847861 173382079 220062351 366678070 346612732 570079926 325219654 792393450 851931328 577394484 345728698 964075070 602726560 584322319 797423550 120219138 102790963 257056190 861303704 325239299 563503332 690864944 578852450 388750773 457031221 871745683 354129974 980154834 999672432 783061125 553175351 589336888 191788192 150534969 551805219 771345866 674840293 820420044 899776056 506895751 814386344 424902608 391719166 941918880 650038213 209707238 305941071 726684999 414920038 339905947 346235680 484431608 496912329 570467378 491715393 907913822 705538558 989648046 595875290 469324550 691567494 456220753 405158111 522288130 129771660 258050808 209212633 989046318 247755019 776656373 496935528 284526230 201379498 874183930 920319489 969891573 678370862 354898153 757373702 254329128 118512163 497862893 659291941 542638346 381184061 728481750 675108229 771400584 840902697 846622351 939978359 487294635 307915127 207892102 735055421 329689103 446830275 209470619 309204675 566680097 417644340 479013216 948691252 651665896 778544223 856452421 537220951 762850689 557745814 866471602 285117057 280887487 892803242 400494587 702889750 395613190 816764918 361700696 438658345 653674203 602434664 471060496 990525484 880852448 713768311 243122517 708864967 255566013 635616341 933479948 999621933 390442475 414981628 115635536 477982512 301875694 358441997 236465094 809191270 988940061 151727367 546251528 504125193 890263314 551849688 384072492 213776129 479040011 547432888 386793220 395616497 492747925 429983035 311767866 817049364 983640608 450130083 249981191 756309985 721705843 812298784 403009544 327326933 499530258 217896196 950247205 981429948 920127794 262856446 719206312 974835459 874803367 183082746 450243839 447446340 608772708 488291156 785368699 515317656 635056798 288747759 259866487 601413470 366058257 745744845 933070424 876670169 846296922 565976624 794676304 491286026 813238176 265121407 860658284 421206693 561318832 583490236 830180212 803205972 469959449 101263158 568746114 266400231 585437142 849993556 139773938 158863830 124587733 238643680 963782375 141702636 896407793 442425928 799677951 447047327 310304987 755633491 669086285 127848095 271474628 767154879 252225046 602990089 242758671 818982535 252100321 984711461 955975912 233510007 511555746 113463538 767681977 976893632 130471544 220983762 371666850 972687946 787732181 572071185 642211470 684799879 465360168 997641297 385918182 292216660 456044329 413563921 477919739 215919471 540964495 918021715 908304473 270437842 202019655 290262951 742046658 221123583 249928617 937393033 233785944 315931086 223221586 878376413 936683335 493821951 399169000 846154566 365546908 840674046 474279549 864531267 180964565 608430952 250304770 599944274 506127831 259741132 501233465 494537326 964316383 210260463 770446048 890426462 663354477 373755568 844502377 313182863 130118254 580195755 721941657 185311818 345983456 968974197 781042034 345878842 727280879 658444925 804402578 553947113 911114623 711323237 980372669 291706392 386820930 694487737 862476921 432217529 259623044 862385217 220504990 838107250 849189406 929860793 429676593 467426506 848971906 114180101 345955515 927812148 242927440 710861228 787184079 290116380 739207771 622547859 694474657 689816045 677259214 806350194 536755365 306000483 196643185 785021643 207807305 797103009 958435515 947197772 821602946 856217155 166588362 806745161 962791620 683831356 907086810 788861829 532258933 301147725 493516809 972182889 504023595 399053751 133516786 956935989 565205626 590226479 859171964 373532202 534740122 884792741 577089384 284391757 669639305 227772544 439652343 587829548 976673016 770939113 632990736 542413535 561377957 821177852 588691131 695744400 708731299 281837333 611578158 130113888 802470342 886279589 380741634 609139472 753721632 313266154 147561288 382111126 644544872 979251797 202577721 628685838 877453627 364596042 591684950 968218914 129727796 901350658 288516250 674174124 299653380 629166948 537038402 619172199 256552947 517807086 686069239 980991839 498562636 773866518 328728493 130850611 434916244 288199615 240620165 640188093 533783020 122518735 524622164 290440645 617616285 377474634 334679861 567908027 209953330 916171245 581429875 450587044 690847501 100999264 809851820 370350236 675551010 931053032 212303031 858409972 179688925 243045426 887435285 527636141 251210373 343824778 947954459 799974839 236583140 589901150 324504481 968181576 693017209 305300204 334155252 634815904 587177426 466553654 983840546 895309620 202925481 974376741 877814496 572881612 864192380 284391193 377683472 637677738 752419293 979157414 682724968 814855581 927418291 768809423 668719678 489609366 776733293 884077416 996931100 679426517 372219889 460828384 401990182 532208113 116323858 774297818 814748286 651071660 824899660 730361425 685083067 663693445 848854318 185736131 603737167 645526561 272434059 744455929 998438138 234231754 393546175 803164640 564816176 273612929 611701688 233816846 583217908 731088240 220645285 553410434 214987846 991867716 314455193 881672450 965266023 822138548 621810821 749172083 150463020 816061361 687075047 894693447 842072129 983784193 169225557 369920403 366893397 584191623 881023272 957971568 760574566 453185831 811869556 510262155 776589045 501082345 826423119 409674544 529065159 894704230 918903123 726603303 314933710 875001308 424103072 725272701 891476404 729802185 890638450 278231538 961225318 657702706 470908860 549931084 946230324 295205741 980517526 802428308 704137963 679424737 283568190 998254487 907250384 722148862 839890710 131364624 765665333 193756013 191728397 524102491 641400103 712589997 615162624 900483747 424355655 585064672 241367744 987171758 983403047 620994207 175405557 810858059 438079880 811573049 667833124 686067276 228303589 945065894 930874661 388134818 820240479 581706540 372993274 427942608 697219393 301174509 169471790 716060483 827544153 128789827 376052110 705688250 771384834 651327288 368094364 675276149 693464409 366826224 517678744 556478799 577293406 582721848 804004456 776542286 184733150 652565687 135246649 124331830 756521131 672551932 241284500 729178152 975640540 240060816 680475534 439226293 491017355 747218575 545011440 381213937 855842609 113525053 906330190 886531295 477265592 894277037 770918031 811055490 640322475 619472477 351885404 219681670 489301284 480463085 456984932 632871616 310168686 546901445 472337105 143631611 698575696 843700872 900365504 122990159 881810264 631677127 841543236 930707762 441329307 613350975 520341264 926391751 166699549 729924403 276131297 224588445 339070550 683872229 749478444 664904440 914498630 964226890 994927586 614411203 644648643 283757444 175715770 152352859 884185125 516358908 499608269 147476850 557866463 611557710 628052552 661958999 848675709 714893153 999711148 971692456 778449119 782567965 967725805 608831348 764940060 578612099 366284215 618284970 854254356 289952938 179779061 228339528 404689291 956456522 917052135 615877000 515902157 403683265 819169000 264541801 727633873 417727732 128843665 113306691 341238262 390481117 208789706 247283877 537340064 757237937 776885711 966982196 621127037 765801559 634032784 472862661 308812944 493839933 639014175 368772286 142779392 336135352 815151179 468397876 316744912 968361570 764434711 196013869 473468417 515693988 808934386 643691573 282328957 707864610 189929048 441562854 880475734 865148868 358624403 863923076 416844247 229878452 190519033 118134686 584914598 941590190 412126426 640323760 170673616 425233464 601309090 903124580 926836472 745360939 842192382 114664219 658782824 592496515 581029819 739764459 263029087 183953509 932500629 574843206 465230041 269266682 836870726 689468163 603173900 100918220 780531898 575797758 990900830 359723319 890364485 762644237 817072651 100208230 681113857 424535168 921126182 255313607 106366784 437699574 704105821 332516414 856361468 504187798 418387910 455204289 924482068 867794171 294817881 530714044 565761329 129130396 985647495 135592061 128497937 672527641 498423640 716776666 843952559 867789225 630217320 600984027 317793715 721206203 997129042 507397128 877389021 708272396 311838013 215091388 696004668 600608918 839544045 849157183 506648922 459269678 378470084 483983242 978359674 975282313 267076330 156721831 803083746 270957446 952507015 228124396 382153240 902514021 267900821 241445574 745875253 171964696 525596194 613644750 734066232 805975224 606289363 177488626 980245517 618581654 873577407 694555975 694796065 323695814 864257552 303291699 505297740 401734503 928491365 532189289 107501672 317784036 181419516 845097724 837929077 722036060 143505806 535827460 222197784 181181614 339600671 136308627 238046703 664208137 835805199 997040087 307985933 398375321 948951201 653059744 898744878 100168567 800607544 648553412 244692659 533284626 433440960 620028764 667091786 421755464 245022333 356917185 702448520 520174639 858504618 122453459 316981695 141022050 653464595 308893018 160489261 124356253 922856554 416259079 293913310 527299008 466567153 427991157 980125879 365145357 330600910 683914434 270149342 797901623 615773375 750390329 442177014 210759698 650962450 632268692 367447485 665859437 586391188 763007781 506172442 995085432 972701755 501554019 908326329 674033409 135942576 986090653 408034201 919971308 451444865 204026994 919906656 820001868 104157854 716515022 230381422 685373152 475874544 310945547 457304442 964703610 917288947 166214375 388432034 292554658 190072358 407601553 736435236 181691477 182856723 370137646 685572943 978214148 583409037 118373419 209457187 776172695 864032534 798308980 387663019 125791525 909233286 495217816 166576633 373472734 942067944 738102344 897250007 348688305 673880694 949422966 249726791 176252173 948507584 869935652 713673550 188568205 776801649 489020653 726110786 123773113 945629275 654071814 500846506 333564042 457180826 911188591 619761626 221235045 734745979 611075667 744856592 345678524 885629282 481617638 574002852 625092278 671861964 702246743 619771859 592012325 378031938 789855052 115243416 796608736 663260664 516781417 865303260 609218313 444895889 552842747 348351135 680513687 902410138 713403996 981288574 838355154 263841249 418099737 843047665 561313548 613507577 264153335 441493028 609085157 621009793 368936536 653834580 938134378 996044147 238602357 106033802 256287222 231641119 570861957 110041889 746422107 183284193 707064706 201219333 285060578 988568575 382749125 366623217 784275113 597450164 827808818 606630031 117356589 460252149 581359811 563580462 126414391 156392939 396583758 453854309 676791023 472307215 917212816 908712878 719675463 256047796 126354592 719301269 403022753 701025526 334293813 583014426 936737139 936393184 374110931 292341249 560891657 437915344 707547562 510934446 720807934 649597698 117471132 787522492 866956389 271256416 326620774 753193656 139072632 895333607 320032838 625662495 954899560 918005861 349970831 272147512 774012126 857821518 521465074 250828584 384643228 163972851 781803349 383053508 263187608 392951669 138687318 984521590 296716676 596219778 174764506 982798173 303360877 293067730 438944897 289514129 888668092 785512205 295979426 174867060 962814542 626228940 990331736 505244974 809059582 769570706 221789622 565069412 953521236 708880435 861605094 144673260 742006994 968735154 561362890 689385249 868144389 197911302 514782150 444087057 147580265 547941548 522632416 488735668 293384882 103292736 582089642 737119126 833780317 807343082 763278350 823587068 847418506 870090640 646319115 839658059 861462885 458591211 768171298 484931603 704290327 399601627 809324407 170156877 412736717 759724621 370755375 748335031 923218894 703351741 341148845 790657093 971468040 511469739 660992850 219351809 518357651 974921639 538110780 487493842 738065895 680490300 774462641 686109867 651764946 468188189 292273423 457218674 486038018 719493713 759114613 753398804 919732229 455024068 298072075 860674436 530362887 304409926 188659503 147098518 661564404 429612420 998353183 177985909 110717022 577756151 426184827 651016791 721580859 415096715 864298973 949953792 615555978 943416268 453641159 154280620 744905905 296274974 739033322 249184855 180633744 307330389 671491870 809278506 371843558 659581704 498949421 613596979 591045752 396027146 642462893 566708494 368543564 148985753 853836117 553147204 202195321 976265380 285631563 726843162 259901300 955955280 197813702 905393088 993698059 327920706 204661490 522403326 228188728 238777174 420932697 965484202 135147912 526234920 268611766 167101721 602425997 784842923 234633254 434939372 201288663 941793837 482784874 342287126 141194105 300351969 970474973 347791022 575811524 182586144 520270053 447575899 475163463 790169117 679712089 147511636 811813393 601624189 714039850 225795596 863390560 535216981 652468110 934799308 451283485 114637518 386491860 687922373 179957221 622407685 217035638 191967702 930664962 336149935 612884713 569139044 582726495 614336541 418695491 610263560 404229811 463047979 472153995 748639796 121400694 865970354 249327853 561945485 785248712 247179698 425847967 624917125 176290574 812138967 834719490 876120581 697956967 931458074 119279854 668166353 178745908 706963687 638718606 918331618 940503544 716397901 405446926 242423875 401901926 320157797 550907131 428961638 902482425 498633241 362084907 670172463 264205833 645199408 550923814 427160287 715899911 434226182 353129024 775744739 261919126 565211159 646143490 293695562 762076416 627425607 939651956 586370434 291234523 362801719 234237565 182595576 523895309 365413630 545984562 693096171 461033030 156511947 845013927 930426108 644456661 591987155 103565473 376234754 124545027 742522177 824141215 464865297 892795282 574639123 597352682 353059465 550523335 650440850 804049198 876936935 356178310 957959492 891921895 335047518 723078173 908974560 152905075 497955006 737033756 919614543 350350746 215933137 559914340 349704346 742041436 615416759 802320125 530488428 275862521 129527068 223172836 760969465 654089863 922400015 286695353 638199084 971897284 915716821 337253543 218980434 794128631 960070821 406911703 780855009 616745759 867874440 246534791 526015226 825992697 422964657 268314609 450713930 971288992 586546282 627914826 409785786 697811654 400820213 871970071 160685359 110419138 521114090 956543664 468760815 915255894 851343587 766223136 388814513 897821241 723044433 130653092 553709664 607118311 407772390 726997234 198257745 416312950 455518198 594341434 637833682 808095949 965118985 120452395 698126354 174579999 682375590 910286040 419951741 361557867 860031304 829557631 200590474 137130087 389232910 288522081 888723836 758444888 605825302 981572826 606148207 509869425 871772808 501372550 353642337 383876771 398775149 740841596 923704019 405040291 652228361 322443649 817172236 110963932 721016441 933836802 656580435 809437796 346619561 886243921 486558557 999404168 467515990 161897808 736625150 172377941 403373981 627496828 589489925 692296284 533200253 585323355 981030069 240699240 899613025 481435467 124388442 715193159 637495812 832535575 961325078 130948498 571067900 594909420 176464599 481717268 476109718 316321313 758823894 873066591 353420703 689303337 201358299 310963780 564805179 648229311 726951900 431559439 975678858 407199987 974087872 471329556 391664953 909911825 697548132 498547491 802882386 583859414 118369548 482181427 463632856 817211780 348450216 914711484 555887705 748659383 613148687 484349781 111919265 503809385 939652197 199707847 266313963 876235373 730296712 487221814 655833615 151465937 205452562 988028434 127168500 999498837 502161555 367842107 443687508 204370915 893259790 728571105 828015847 844561095 659783668 108893202 627736712 381632287 151488499 574164177 462792685 627981630 672285647 507416457 638357465 852436431 792624323 349158126 253910860 151608846 318387419 622172941 215949890 129426428 364480856 702721221 591830116 139406340 728962694 351369926 849185921 157545584 559834263 897924391 559721649 590824572 425154374 440219137 374819050 681535648 673652307 823018098 804198220 581736367 262779477 657501902 361783551 160374225 574801976 813668798 962997156 580938910 991329823 372283538 362441191 105129296 323162712 879546683 768850407 807227857 189961903 194334540 299668831 344070168 562553270 558202830 343137893 224293773 181392947 826698867 819573569 426039001 816713172 871353329 388033742 826686561 709903207 459974235 168480597 923958213 302623953 839037825 126052918 155939129 922300331 625390523 484499868 488913819 925695851 183843132 757347548 394282190 433284207 506935530 149397293 938722225 104200006 417799895 476294644 953762866 421878834 895111469 546984764 922657153 705026007 744869184 266105668 474449960 963409313 202852689 443109579 838634834 669365796 608247289 385602508 788642319 788303307 859060425 590064535 732434184 839120133 788052440 259380420 138928188 642625539 867988459 815022790 310869987 594105797 818623235 175187201 618502486 519969318 872721368 177133901 149261580 436016961 252425416 770546457 364982889 425241764 835183824 409547008 852711154 400026261 686194189 121039746 365860967 165678655 215723488 859470287 899206208 970545414 247116057 979002737 303553783 655415854 453582120 952492280 918623313 627164646 507725265 746933097 565618264 934811671 149804220 123168435 301477198 715098800 327424574 319915024 252921199 806870461 112111682 587699310 448897587 174545909 381994575 508278917 542105513 745642718 273376359 766677365 836875586 199047786 656215425 676048250 631459648 947330697 999736732 904358276 755609074 350224856 577964668 699834967 930737703 604110919 248460969 748320753 458782935 180546318 390248435 956094695 847576668 311636830 864959114 899460895 676025332 730365641 840632747 381082668 832028251 593042369 648257411 146916427 643834971 153838324 219555889 707447402 335914504 832601667 751219460 325907909 787384631 796435943 728745833 723426989 387827465 628509106 962635211 843282191 724597585 574089574 431526052 626709968 969054268 939006675 397827570 717840798 559205955 227907804 806844775 270133287 344052168 726639517 431046700 520572248 256240946 112310775 228265374 905826673 959793303 150528835 119519299 599899077 697863817 304821351 181167421 998986653 855869533 262074872 457572389 740959267 490002710 449865455 375772748 782489036 814614667 518068574 789875537 804596907 734303346 486085502 432592057 481459579 663098836 632498769 122492066 884889460 559620707 310030571 469888868 522726589 825751265 557205696 158826991 983269231 860931945 335220768 946072705 666761255 867706257 512983399 812492195 732629461 330812307 457830839 741772809 503871864 742709561 742431875 671338603 404352207 284082568 822969552 659595780 992868780 349392545 619036322 875467523 560364765 980472852 495067532 605084532 519644179 344431907 124851515 965850968 681537788 293107057 670010195 595006813 638059065 180923493 354109385 694157976 920304092 669017512 386463230 705769582 326290766 704087776 389730041 847939568 540065978 786577381 527729316 964793951 413722511 359493646 951785650 885931716 882003802 292115123 675492032 699626705 972469204 154126777 609897266 427502373 861012208 156176904 753481569 454256348 955863726 390886981 790057432 356909784 328954459 882576710 377096401 335958398 255510509 217621914 584059863 746263381 734968606 752064815 366796936 546706009 878713665 457922622 854943336 207921412 240752694 746995762 726035643 298823821 823368011 181688249 507328370 266454280 467381705 198592230 844715653 584768981 441428134 255620526 393644790 939019653 992623781 156068592 606255952 752922154 322002074 178628604 662780040 285839302 475082012 954333721 483349381 646928872 711472503 270767360 837172400 788701275 204502279 794884852 838341815 407093989 194182120 244205780 944759903 125258231 267393343 297262346 763995213 512148256 985910830 380126026 604752014 960069608 879473268 274181582 350294618 293594241 919168116 343557998 204824496 931549402 410297402 284758320 361210172 505856406 536196191 582935333 373466194 712374209 313875884 726453653 488091081 467864506 817355516 737836765 503828570 850685226 944183572 443516561 283185059 719016293 294215353 308310893 351735019 739815469 770106831 341721745 970482340 312404706 641792869 974745544 430074899 902042748 921479503 774227567 789828699 510863536 886998169 503028845 633606753 571562148 706686862 721734257 187906766 740869243 367086381 663543270 660011176 165399154 683899288 207408278 568315076 397517111 595654408 719751171 695919513 796291098 903950562 393402896 914871378 164171449 396349548 432135043 478826786 809423467 756845337 848798095 155723167 378868145 195100367 370635202 846552882 540010095 691594692 380080699 237103875 729620733 610933609 421681835 335038584 408106483 193537898 920545075 632353619 814138100 520739985 992902612 166631277 418928923 946309454 768909537 359571912 236367848 147614313 233854784 472801770 711856243 630467270 221776720 988432157 653262887 628029437 999546596 968533432 784600636 155563027 227541209 425370777 726233113 842071606 371866095 731232582 476235989 479404324 183408980 311539600 130016241 882377502 389043857 327400827 474451417 945638027 364151191 811343386 276482621 375892066 550695112 749624066 248947897 640799140 957061131 731477323 102024091 831863988 368749583 987292793 986006879 120838272 719000760 193309744 331106985 321557618 276780607 714188151 408251470 991317160 765662371 476270207 196404728 225114708 564811022 784627595 636975431 131619026 891953446 141182371 369277046 801498730 349208754 254477840 680457328 304857157 182278434 533205072 730944270 903381579 636551792 843265773 179800151 408593161 308600848 758627158 685309256 327685511 167901904 538247473 727534043 333262779 392511689 876411005 316864871 622259670 300232705 289462433 278356655 721181749 953892014 721416644 639008716 772632187 104839328 731567548 445638067 108144848 819075591 334426785 890603877 348130327 142462542 610238941 430982836 365260184 437609643 499182565 104729381 367984784 593519305 878306735 270438123 805600653 982619976 487484673 412841238 862736321 160111755 844470956 527387145 686411916 254065381 999527278 760715163 850695959 508168682 773889596 122904784 605883185 336170227 839955377 510560377 314691907 698811031 639355991 231281588 899908556 903738697 634987572 801468577 324367367 740264656 752635103 728971167 251018468 788350494 404406842 514946747 460546057 975241376 997828310 391161750 857538140 242633978 803521951 501219382 559388375 750504183 158507160 688072780 151978964 943309042 458097132 863680655 349200348 126752845 861489307 937625488 327155671 514787707 310429174 865291289 160820160 978478119 902353591 766882865 987497749 886760862 626079763 101794871 840897058 669184676 102310441 413073086 476747251 937756878 669636934 195211924 694885020 136782778 345922705 500291094 393320875 361694941 580729160 913150010 480004182 110281510 377365437 936865320 766183762 827792415 777094376 389420367 939081813 956573517 377024224 164623088 860781595 440049565 515379084 429645047 473726350 143420413 131897907 991899775 865592403 163272538 148059791 945069540 213665043 154812975 762271189 269244350 482447190 786125173 234480666 279082761 394693759 476803141 124680261 155258029 576340448 401089966 813600167 356096035 725985857 546753520 237435720 322710636 774208946 310887919 147692834 110393473 902368996 704149984 586986733 202571598 749338377 895871108 538795436 222549702 241114219 433168509 251397360 310063894 112552400 537288474 578563555 237859186 332451132 279864342 493415442 142491116 629367835 936221334 627346417 561644828 876563556 607277384 549634052 432957786 465719122 999282423 991864762 706338967 839573005 982267854 733401244 709022479 475522499 447720133 757853386 626446220 388444444 726731000 823299905 946584315 401815379 541279528 961812138 589938677 954941594 670764516 565035532 419948859 625221636 477668738 468963743 739268368 108436270 810700321 976539640 387320649 786433788 827683031 131192083 558151447 388758127 174917275 441730829 765650517 438748840 677205358 644020640 375221928 985734103 193511903 409761539 798828521 943199373 495092880 969737752 224693948 101810582 508824984 878580406 790725977 401530072 458588218 169367423 444953707 416317111 606490647 752196485 975112988 527262341 834407872 273462015 113386844 780741327 401138577 653507158 533202830 366952537 727365115 822770742 403545553 761617753 669403518 732098281 585061713 240309811 579886446 475710040 172677186 925143701 686881191 717534426 770794876 432413514 616847739 680095045 683393450 603763955 714067615 328776588 307680926 849911309 918040955 316517668 728466331 539186889 292648895 915059349 629082786 662217336 869958721 323451465 560683348 960025811 481055618 346374718 718992465 567609114 543851760 180323833 987930058 170576056 497737349 179848518 430839583 663833161 294639659 653476093 755436291 834910910 372598632 657485817 528059874 872302853 659573235 463299850 540207405 875069374 532014657 731347573 233995139 417585562 123742610 469183159 958188774 435421254 970926115 276650549 863777806 274176892 189964531 735416038 857233673 400062849 958932410 906174079 370062348 577907951 493300609 529788502 732155525 747193563 931282580 464562004 474807841 537567640 831122473 462276851 494967516 392457444 267491788 988550248 670071838 718717068 593156614 111899068 260606394 619893826 463338789 439239300 720261950 741170236 146034957 960547164 838980954 501705059 507811568 629826267 916131887 225985051 349617143 355034892 986375738 427517751 865497453 507044713 752503750 171644777 565369530 733277898 782568511 749227771 200422218 809000709 601381386 153388294 667572329 221041119 975701425 257976798 141485056 193807498 477151231 521261768 605163053 876357395 308104448 659815267 150729542 861580268 354421835 935219286 804263848 119351424 515588500 870351254 447679085 325887987 663383657 556481671 822392535 233535377 763062570 703559415 374084816 716136413 994578838 680577286 548711420 347693432 701071805 676773036 831234845 428097959 167854019 565831622 223330192 990402980 960069134 989180652 170942015 327191486 679910103 131129315 153671685 656831902 633145329 221695456 580845107 452506086 303074663 270158149 999436914 994409427 358493624 223871751 565775205 683954013 372119933 797323401 729413750 771015583 938338732 536695614 560762050 445083646 503556676 986160351 448963295 982840232 602674003 411264583 656475521 665810036 359744929 874822217 790126581 665008346 734987863 874783683 513764468 926208390 751897406 942709998 428394697 636554693 991630071 987646794 380661978 303859916 358638688 508915390 225262673 308119384 155682586 610556230 348185561 538728604 927408452 227117836 819423298 221355108 806963268 815257184 177373740 418653745 245985630 742910300 352157863 838800994 528447464 976069393 267071006 844936443 521375949 872192616 170404366 252487682 847081046 527421803 243893940 607060460 396455396 846249745 685550265 276426001 239640107 950507013 672085855 261459878 315023498 832186352 973470370 127819446 851355880 763746941 926387322 301433373 378125551 819369256 718893584 287244360 764472676 770525360 132509122 393213167 995939421 355690402 550183139 112791167 992652817 600141594 384740309 330586740 326556438 737121842 542378420 515886345 735131803 188883787 297129504 539364390 509638003 809461736 520211151 228898391 298922832 820022206 858236699 737593769 779110670 894105910 266584736 583737918 899756414 335173096 201425029 804048393 329032764 718577178 605260376 147478979 126093169 289336661 269408520 965297226 741232602 722758570 128136698 373846699 431385015 766742952 281339255 625765289 650153429 249758061 230330070 370378691 145346836 704141947 702760686 741253392 973786403 757471385 876578798 768400264 715766663 696463976 238399989 974544461 934042385 211022848 244370348 208485430 874316113 175301216 386763817 599394071 582534702 779608110 647910230 553258387 665906652 563421090 744834216 468369936 536938790 582892789 613101151 725136780 795473390 272565197 697245228 882543078 726425061 501583385 321690799 203801401 981699397 411857546 350452127 934735821 422669427 406608677 973800290 466477631 352212526 860855462 599698502 469180240 689529793 357106460 936492996 775034881 751493642 271191950 352662623 452331942 734261455 331846126 258018472 628423628 985281182 130407322 841735021 620622749 856373512 773751957 551291518 445496641 751377581 510886303 121511067 207762778 361729530 306244343 917001394 905918843 487864145 943103020 166529375 595165435 272219985 735145074 200150592 183622112 609675682 320519587 500918351 644990125 679903907 488450780 522699118 173389718 909209140 337058734 390374360 480986949 983789321 450260542 514908361 571392778 380083996 394110319 333947678 671023360 152236660 217378614 663445383 962968201 322342106 966357604 508667674 187878236 919362715 275832443 690732488 328383353 177567433 768710400 295743523 294639747 130610727 314469710 158966620 990184389 861908272 370392269 397756414 557459576 301097102 630879142 427110661 751555756 566028385 440909274 601147356 827515545 732322975 624167341 132426820 297658708 583867608 711276764 696338660 967349380 502236407 478960886 263635979 552070545 914900533 548051623 473194084 449381695 553852716 143552494 144568389 870950817 760885406 533484967 269553507 769019182 572183099 343290510 704728786 181783831 504033249 996792287 819208587 895705482 123748717 138865561 680832286 461266978 596850157 765641198 487956657 116119635 492875568 175653815 137646044 392788908 174543765 781528268 746422145 301636982 369066895 966488724 455379259 431449553 820452133 488279793 620932659 166000692 280212511 111614046 784821039 472819842 890148021 670298795 116992038 392137695 947265181 621496857 151018829 509201792 610304949 829035521 329041416 279417974 401962346 121439171 706779199 826725006 733496063 925579505 513896742 884864250 920392852 871946135 404529305 443463906 617384730 782787655 149971730 332663976 154742138 100367428 925461252 341285014 322253258 471937524 217911975 581668376 661337378 453377144 909981966 922630570 896099472 395971179 188838632 975906930 248214427 626328214 389609040 559220203 616488272 714531958 782625201 485123499 801988898 636684655 650185761 870434197 600927797 902224937 842294560 212046495 132357645 323701069 979514372 347361583 860860337 755977487 699646499 279579681 537173280 624309583 601163766 683761282 597851118 371835199 173231361 971871490 913375579 706424723 191886079 179941835 817359638 929622699 804569292 259126978 898670798 159405095 859118138 374250712 333640029 527237487 672727135 985225071 102714478 280020560 240369029 324463748 364218368 579168376 970677696 407571966 376589412 165675153 463839416 948244901 248578388 806789086 391207402 234226984 284439150 206593397 940038928 503180691 828418510 529160135 178255862 974519280 819713959 440825716 890519157 328478936 483922046 297381770 454877705 746567672 789754857 948877522 235916022 700242777 815786293 166592050 697804764 101637024 977324080 143109161 876716628 979746753 877335987 972182123 594458776 457789578 410916809 230036864 841416446 359076861 487808090 682667447 379334559 520517825 802262344 560170281 283154029 267315529 906873932 151972531 346722598 728738457 315601332 986433444 869974410 939077892 407388696 157562991 129225731 210789166 250454070 230302374 490940419 733240109 635828371 639018425 316407370 423765758 487872095 542734603 519690289 542780085 656916043 863015374 925335483 609411194 841300509 593649548 400399607 789950697 293330540 262918802 500912567 814004250 787532727 562961605 950772721 115409310 102365751 886228507 347241560 220385988 145096808 267928472 809370384 863588269 727077047 209802091 506699658 637814482 941007721 619221145 494977979 713085989 634412633 235997502 486544964 874102339 278690629 440927018 393432684 748305942 290254482 154238176 989763207 628217600 192522833 804530512 861845067 856955370 584603141 509239723 280069881 325247013 587859254 561505654 371115113 568127589 137094256 338091654 988883269 737760680 563579026 871561797 779987360 497781954 267786232 472665947 798335790 954059887 881991720 118786284 153203211 864493712 412641105 960882082 710993153 299795321 985418910 779352999 349048124 922728874 951152018 921231345 385194251 718948055 738562030 832536866 305995324 937512092 505435961 956415588 162327777 920865758 207339715 520266958 696992646 722928504 410774481 800501702 619814537 982347051 969551348 400793541 863108294 498873204 629309264 607916329 475484691 982794739 303960616 970392158 677085357 764905151 843029455 822826372 184063235 480835428 419273512 933847219 488433135 336279963 351017093 447877350 239321549 155748080 980296703 487966818 552323511 597625438 521703025 506411138 481353320 150339030 663712420 976085379 468540702 565132332 833818397 499614694 430874599 894935669 802701784 571049625 823512924 223039595 862652544 415536139 667471857 421129005 336606852 770455904 169506166 215714692 819080389 388343302 432343286 755396744 212043414 457605233 175373342 408413662 928327065 668591246 236679895 886964696 728347997 563418854 695337484 732846255 944908528 771098241 934566028 561633225 237860528 868285813 690318931 331302162 465103414 198858213 524878572 545904224 465487127 632012588 924601555 165318380 742213171 504052682 996119532 188365826 917011912 878458035 138831592 577353255 584284412 861804322 598764600 763336258 304215431 768057926 265071747 179412324 786379695 103795000 744745405 743505488 143027212 124313143 170011276 213897468 521683432 594269624 875399157 869144892 136147343 491160807 573780611 121842725 808272735 282883039 933547148 388918480 430812494 253796923 792309922 102069073 924221022 119090062 138030557 737488223 290682502 480697967 181026828 173957679 231723267 969292074 364777462 607193871 624905706 347273178 988972544 246556015 551888780 831810445 429974958 520464034 807802732 115017805 591548855 796325027 907507571 341199906 390078755 649669742 589310184 577552924 786404709 417381631 907900430 277373985 904345051 979586793 310928399 820733976 849247017 425067210 397896940 756861578 246565742 764138770 490550993 557105485 947181746 872434525 655942680 734164758 899204086 928063512 683187984 239576941 942291365 467195315 251159234 755701956 639442323 570512390 214188348 878165793 260203081 168680302 779536281 526359585 273600587 881367800 368855714 209295308 253997409 777034761 237727601 755673059 598892941 160705036 788100037 108552715 650777570 849711594 491339120 986621590 436481896 546935107 232209231 480738637 641949286 449951714 997726495 477942733 598229498 690318871 221118370 930433341 338657363 644084184 317760194 659196893 260045124 846466543 646865369 373355285 166094201 703334362 989772360 495838172 586574433 337537351 182058278 194536621 971085232 309750553 557326181 718401346 602394542 923268699 336749592 253702387 584215494 753137247 950610656 950628798 786002758 288671414 259203171 927278895 276975426 495110531 984063147 900041244 899339277 308019782 535227368 539622995 950561636 873877745 961104888 506662109 811634219 466980934 876177862 711901973 226026902 404246230 196263903 841217945 834647011 256402407 971681798 951800604 537035796 299489979 435532510 835759683 727540133 906672820 642409060 539272682 537138061 956392513 411921947 886918940 883672405 226306479 957773795 239101793 103157697 584440762 599684966 945245182 366338344 147316469 404667985 447316772 928733749 170421360 556774223 627151936 965161451 982159046 660842226 747339185 544045317 595493425 727270846 583630807 438832139 729271973 314145369 265065900 893507571 730769288 264579798 469017700 821235669 233514183 736947413 714177873 246485750 553014091 613100019 320231513 998823832 618847427 316291354 346469482 359617178 562626341 232705485 854523529 664015939 149544991 733705704 707184843 479982305 901373878 210778719 733809037 576244891 392179057 272937365 985529995 784907825 116314664 844653010 231814852 446147137 236063075 127980693 136697494 447869293 367880591 532071805 727022731 126696155 493436013 595842843 386827345 754139480 433459487 605702652 991247315 306143659 952933828 735616277 481262066 487326048 184350133 716086019 239567458 700484842 361436561 268404691 211436208 947774079 267366696 232983282 433149548 441071869 753137096 278939138 937940912 357726113 775380488 367979716 357953053 648301951 529458459 542764347 202265462 143863090 130864059 671451370 983721484 317272522 541339149 760401530 380910635 870170478 541811917 749945717 558069287 941963093 493039258 815289470 798436257 505839678 912316650 510964864 481809390 258414991 305012926 107539655 599158377 856536233 947393328 968957080 764245911 976107927 889303667 223268592 852693762 483756673 260220755 272908997 244012695 848312079 224608931 231133337 787862820 227730738 704869257 612883792 689075034 998132358 510227014 449101015 597496395 672263895 988649330 207982352 640275048 957635645 524149374 874335794 575408284 271084377 229190900 196442226 446784445 720154995 584060182 641643085 862259681 123889530 250899080 621067070 346155689 129080364 153605155 445185288 623837527 214090899 502618308 730872918 212798489 834905961 771590807 857619748 236927324 433460201 708404111 263273283 442465490 126090661 827592515 754530834 490676998 938526898 868137418 650629648 336719056 690315730 693408200 243050405 405697275 815781121 260512867 768992387 884621800 321357414 317535317 579807575 661696197 389563164 938248995 342535526 530614733 448693779 579764337 375700512 934036490 797443701 474187499 974469005 437946826 166326198 402075801 793687217 122181558 248524012 190635621 676491081 509500085 387535715 522372803 697275262 896031269 316669405 640368583 571271744 896231004 935382307 824481453 778970624 934195558 275752272 887337229 366495351 684265181 321324304 286759856 929120096 943032088 606653096 645083046 573075488 665109391 193282392 482660471 594709822 851774520 561662956 298629867 569445231 120817730 328976352 213007280 982596510 318320877 553597846 181561909 594484547 487221629 660497643 339819035 240011694 171232277 511598019 291428369 865273689 352374285 109998648 475495391 930206274 878741635 725079891 610778230 610620851 454289194 657639685 531600396 430117747 627261813 529081702 996951368 307368129 664925532 887726565 511283844 812074064 616538137 351744232 665300491 262375144 513653542 517224953 686150614 421811909 654239503 150702180 275734040 379313326 618124939 966157915 464027500 152707307 812564873 482112332 549310312 328654566 963715196 391072372 826321666 524344276 568163810 808137587 915810551 184180913 884967849 198917840 951235723 831039144 174983787 198857076 536541740 418553880 313959458 802281073 856910560 172852219 935955700 823129970 368228531 256848406 510720151 991311311 512591441 828147222 798093694 306161551 428734436 770507416 165631266 570305484 607642296 470691973 418070833 718085731 909049116 952275001 428171995 867238832 281137314 881364666 360597456 306912041 725976067 257397033 807899577 158129355 580997687 117735065 147248615 850212774 689903881 317675719 392086216 681892790 830965280 355198030 261682933 259964617 476514305 352116432 298866115 849171579 321631711 887266543 705836067 628305920 828960333 755373637 667820532 768843411 570531629 983408471 130739647 359970312 820255996 623179386 325659570 425306949 358888515 332912412 538118031 447437011 858319263 609812120 888995214 123870933 542870706 642576574 517179160 388959398 971097425 529494042 127790857 137416340 820158388 933205692 520816431 542974720 570661199 771683306 784055829 811193210 608492388 706940441 734037691 840434511 385082459 856421688 764165868 834861362 671084371 188162937 826405403 500088254 646834090 931003309 747194234 132500824 730566948 840126975 885584648 494194261 189174091 750624738 260862539 278875476 352350191 990879607 139562758 174920467 981038631 109624955 782721014 335691912 359498646 624369374 592932135 847913380 596652143 870237366 290194373 617661553 705262302 317037446 731485715 408025780 900600495 496649215 652736229 581858114 860092991 471203167 638879353 741167500 877947535 852027400 187073187 605466177 374481201 807355407 457246187 728493518 575203565 583083016 727694179 205445851 888439831 256057665 208452336 275499998 565192673 686542515 324226977 216239099 485678732 197772007 347691777 627954468 551605133 148116019 882179600 239208788 320379889 216500743 130476541 212157305 778709252 317962871 593667606 269620736 238300701 469663561 161643572 883736562 998141918 554808695 862107010 818412609 800189680 519341200 743489080 318498998 662103488 357769043 614467093 187065725 624380860 669099808 803241677 670527280 512153139 595049098 258044938 219257890 817193661 645291795 738695363 973973801 111075933 504914348 919691405 119611408 578411488 369846491 483591645 868086386 350884703 482675294 932891770 716018683 888294924 760647267 638461321 186759465 326491537 261987265 944756639 855832116 481155963 646842135 362756262 146169973 919379947 698172097 331211716 356547383 605214049 214704286 957304205 583093269 352472977 347713337 405107608 675798508 452227991 501558384 777108197 145604336 262196980 824998539 453087322 582035689 331111576 676174928 860462906 235157006 319377060 869564028 761296348 335649300 172579765 412932677 145852864 673728899 279511228 537112826 435549304 551218852 742441975 399476994 293626832 819184808 681660843 505353446 111393913 908233457 574173491 284026398 577256632 523879604 315950528 334940282 858960054 140683716 416056307 336325201 583251458 556898880 876349380 641838113 454573485 267157275 328036102 142145979 401744724 565077478 682527863 697508806 886614346 352203017 559884943 274893572 803277058 884108779 905791150 887973413 315227442 512557481 346398548 771093575 145764428 114265993 872036809 944872274 347872583 488081462 743153128 390080748 635292039 583737755 420784788 817083474 639962050 363513956 457301061 757372681 442206602 819868436 953037972 188057184 165374961 934004407 553947976 776428966 778925693 161809565 956360454 401190988 303092731 756582688 359605990 768146491 271903873 432926777 696017842 692877476 756361247 715585192 301989532 829348323 510668513 261523692 877244242 545239321 137749134 631476027 539513414 230358703 602179151 545718644 342433369 604734930 911847979 431841985 810797207 235388249 157593479 645930885 886796324 384730779 987098173 921688031 623741906 791180477 885536586 630049487 997891809 631650627 670463577 885707531 879093333 770076273 691237437 144182629 972347635 764256834 657565276 939273243 149671361 166073673 704554793 152235112 549914751 882351478 634014117 442871130 883957459 616421359 316728947 570714846 554792900 210538537 964282982 660668355 701494065 506989458 788262566 183956696 986979522 387474015 673150645 591610599 127954733 849547761 931926987 830486600 809012892 566128570 900919336 886536469 590242320 327887428 937459606 833970028 134429575 531604525 855711946 265908076 319501565 440441481 229550240 323070250 322274645 310240515 674696156 413517941 910167067 449214987 602896239 610539381 678869770 889697760 640382141 430270284 363206402 705220074 268518952 490606149 933204352 493814896 193300911 629532632 558747063 637385952 439519443 132671098 874855853 202322115 281783210 820926000 577085599 946100774 779773908 432384248 616398517 594591146 686692714 231951940 750973769 624787022 600309028 412001264 934381933 774283730 492368865 341012819 441913517 612252081 602221435 453279700 840368959 803066421 183583870 607278280 937905279 890685030 200825458 519088895 377256721 365086581 276567319 388806887 281404794 603845897 490967460 210131873 364020444 782035472 282077558 601425182 539626801 662170059 269861954 843275990 369687296 683815809 142709409 881056740 628660649 376715433 391526987 181966824 285200831 493753658 662986857 229167880 943016815 825672250 243194950 960232483 649812965 984093147 305784479 684618033 633989091 557989131 674605764 802081053 937150476 978244553 707752143 552035390 326667635 378645310 399751276 973591399 646003029 498585043 248549584 127196481 165573839 185941956 747676456 402728170 161711354 597301895 234629970 505017034 202490712 605746715 440065166 538406565 970542147 317047979 955740743 366441419 492577115 905086056 246226833 887191572 291348909 183820818 233317106 230564297 376106993 684742360 193938029 147405107 276205308 430741469 861997296 924978234 108790619 602084255 127243353 451285547 960665812 495677246 188303968 523728417 209433438 324667696 532055165 751794719 704870485 989606183 501954079 993103189 379780366 928695763 997548700 352328614 771645998 882274891 998035634 434266216 907508776 971724232 598613762 372756340 235103025 248068360 413232733 919476729 608896899 138829203 158619680 849749040 190740870 847880636 446343293 224422386 232024767 702737442 284843100 277311021 932641424 610717367 598135741 383402182 315161981 881211857 244024010 857035828 443904517 796201282 464605940 345302509 328887191 202400820 782321730 225217694 183105264 323942744 600705025 854071942 485003641 397221069 262141520 678114404 566606357 611311534 543500048 903819281 301582157 314058856 742334725 730095887 129632820 707905051 225788564 173490004 151442141 673633066 857421466 688844259 888395869 592731024 323862111 130404264 448522383 811057059 222088899 313361628 297773533 366491760 143597279 956657740 126140305 937691698 832006719 830033623 302541516 206245414 934412086 888096257 676018239 397090204 145005239 225541968 301975911 412066572 476631096 643426133 532566103 257843128 776150608 812597899 522998582 730368193 926038067 499744074 861360614 191511834 901399785 485466732 575457047 570132566 294531751 291123352 755992338 105845651 557503549 331984363 376079478 734066143 252143584 436816270 605396675 719132604 672553488 505140425 233923435 318265431 770420259 695237206 425603135 188840178 225023320 717975387 316555858 969502670 118840628 186817276 995332621 824587382 354864223 209256624 462396068 704816423 572630294 182720623 355251174 973468418 179415440 104898963 528235616 749530662 524992332 973320687 237652163 643070245 527840571 698856228 324546795 900001228 118347702 977094447 236175194 866306074 489623421 442826290 100806095 102569150 730243135 530199089 127223827 275507386 754124948 687568571 111412214 525682922 817306914 825354168 492225839 431360774 208118297 882131334 772518448 558421652 417554486 579695913 485348861 652322453 817051194 590509856 530920362 960385474 947097740 948929848 726460292 657300342 727482650 692075948 824827820 213783932 234476565 892961284 717347880 932158026 854903045 175699028 997564270 199533874 955830948 367790020 215722928 591565230 731138042 928823425 286993938 700326519 366559623 414822397 346847911 975321384 153036877 932103715 931561572 319147644 340910305 997373905 332899362 382774488 728078362 188126650 766243989 934118062 121249552 266084682 366881090 830027298 128648788 982700370 796072394 376880895 415278562 556623649 652008634 282954910 545619822 480828687 360481588 428814256 118005864 321308034 682405049 631420645 839406956 157252724 388166671 208478629 492004992 325332789 143489072 843818748 619425702 707238296 292977817 480875854 621405781 522478048 588213829 139313256 317274847 421300360 513144117 139375855 150139033 965127956 846436431 923613142 854617582 986587057 996308169 971705907 671957268 266799352 217862320 522422226 883111473 737773253 414532418 743359269 142993408 325139881 117866366 610454587 607495573 569465002 311686890 332826309 759144515 573372697 606476276 230950728 583458045 453767031 139838076 800852160 700009514 832291644 274404153 315973444 735617952 461495941 760782000 282257733 260389522 469565857 638221501 534670638 106073408 971124447 199886891 478622028 123407651 674690179 349054263 601339897 920790285 570352457 477567890 455032907 176098604 552232865 135648756 139659073 280498123 810429348 484469397 897870873 957535043 570433320 799659204 386724674 391086551 355774477 600143456 205190620 195019196 328920068 747144500 894525160 213580268 148265131 433619876 408749556 461090681 160192686 323880128 680770173 101335796 958907758 261818470 301526247 361046493 154150837 447613050 254029381 790974702 266564056 624517209 994215317 679184920 896829473 485228197 476092584 927883024 503452406 340990350 186785851 952182985 705435434 821368173 949973740 551659575 529827168 753849276 108258845 813243195 406807550 519601025 112771274 399235046 261509528 845141306 151024991 942269449 120860380 635819624 712146166 650862766 212069163 592111630 757442141 726826609 617268093 477711436 542067110 234872234 562216776 414916171 933980445 884612282 491700092 414396041 361683606 116557854 935305750 463189148 540040678 356580106 359934219 662742608 214662962 835742144 395555616 276620445 572279198 647432386 165383142 263382378 908674045 727725062 201984687 593843668 845999599 789770092 735267625 366261450 651684781 155028413 490041539 733422522 554631745 544672733 608835468 894989256 600539018 576061440 702555238 795168763 555831518 626065143 860416724 538544400 537562383 520324211 242974065 504554663 805634023 928515044 364829317 142669737 780441451 388642065 425816730 167857826 878368223 972085040 154558865 437030620 586359074 595997119 266006487 277677797 884515155 856226538 484184105 626897327 267408227 331303398 578558850 373815109 489005937 715958475 568471191 769203286 717946757 766440347 124335372 277496843 681876124 991147142 997863973 439208081 682128504 128005231 275057717 980077847 134174162 945190820 997643101 921734901 579282930 317646900 193991750 651297941 225211038 720396196 654063531 914659989 678991799 877619768 576546813 377694278 587622445 709212125 417557734 927148946 860911377 255898696 503385441 299901472 838954259 206620138 264195786 398944890 924555490 482365359 327259197 597223167 827536847 896491389 370667358 487679805 891388579 363211000 170093157 214673264 851321018 973908069 604224275 122496533 394623130 705515091 290072864 388702315 712697518 406058828 659264522 160959407 433994818 229022983 145233982 475049714 709526372 594026653 817038101 606032087 598042795 826028735 530651056 165082534 314040752 649014530 949408607 215794145 709491958 459658945 579704637 874602181 805016724 261528530 450893506 661195073 316012336 737081341 801662045 743286666 572354489 274364000 673365191 824183498 719414964 291272098 718232448 525019046 103177466 569878864 366296971 347695818 375819824 861845022 899005966 490969136 611378293 887538231 948832318 546187364 332766850 151493270 529632561 568218880 615222870 598991344 477779736 863985686 380774035 276187471 862761312 749416762 372802355 375836910 878577024 982605460 920614651 107713102 755194286 544876312 658665670 982476377 143606158 872746028 644373870 287432879 620695911 304518397 587670656 724726853 802464567 842088726 349233943 841831679 492473372 839807131 966176735 513336194 306225312 821478566 276865096 669335660 122590223 324708192 962998974 933481632 664373210 878368427 448723082 220432470 772371854 657848884 406735505 515504011 351635278 346031427 186700759 865388123 990786452 979202233 334061797 970695159 678070699 626541788 399250121 733237321 859307652 674051465 304644454 230595352 669440936 593215036 891122815 419796165 296402111 495917479 772809932 840332400 781538133 958572429 637964338 295337033 191141237 814185353 601506885 783994735 692693277 155796249 203691378 693339491 989824936 244002311 460826501 698418244 781841569 956481066 809080828 663696185 848776730 539002425 905725993 121192345 140395631 939851172 485818679 213960845 714537669 518415306 194480100 441653291 888351520 359878102 625085224 727598443 100372178 558293470 256123991 442932725 761052766 683582754 558700036 673430575 450858945 380863825 419188393 257764220 438815815 952769783 415984423 207911943 518689361 151148021 215749288 933371889 248313787 719261290 303282574 258740202 149975555 498988117 555716688 733957566 361247133 834449679 220295129 570601470 341681382 580682437 992695717 601068942 410712103 316648113 800832345 751730445 794786871 493729412 726044868 841729876 531945664 539773802 299030032 499010943 727426266 971183243 827414406 334292085 254237184 607453595 544834230 658316043 332084964 248638940 579029111 148033069 103866604 277574869 700589443 321607036 632643834 194063199 529196840 930726751 123282416 814835064 187381907 710224089 357840918 768386272 664129738 640807082 891758894 389017606 908111542 330940113 875016832 737161750 658642876 948935955 423330726 350859191 514189196 153816717 399035000 667782340 477320564 430862597 923969056 844268676 815568972 672787574 954800630 110803683 828582748 624955651 813356326 991867330 779676454 873272279 659511612 194204860 562170010 368884725 302196524 530418714 145541424 872384734 435073632 746791277 315001406 457389155 943083824 908204291 681220105 976485626 265005682 865717644 775621248 168983026 484271136 704057672 150916509 718644907 852432981 465248682 348083966 900402831 523936200 748570691 377481307 385983779 686216335 723259774 458993860 566839137 160383307 439758128 268277179 193703145 955158566 335153471 709261787 683352368 466146104 183017784 739357709 354405687 234613842 974495619 979515542 213421869 806997362 410288578 647036183 612804551 693405644 912032162 110829398 883560078 720911732 226627188 762894419 707954769 398005595 387761969 753042258 687348632 114186196 189073363 146252972 926488296 473269848 860031155 123375700 603008961 757621980 188388809 129816703 983044171 629036734 440096803 813597377 308438513 831232753 782830611 810202085 113040246 300138040 102277041 205916834 837973155 127646799 972441338 445640974 267203741 307925090 624676919 187433500 142298410 263171719 489937579 403864168 522699553 853409684 671186762 345510446 383237719 779370587 658894590 563318914 298327586 638798245 763839412 828257724 856095697 295762958 264187285 336579732 627653433 129475446 876148561 629391048 419189395 633828936 780003185 888738950 225194575 476378365 494359387 830119984 342605500 485650138 814759425 369613961 482027147 417995106 182071372 990559519 478037405 726032380 842522396 590439219 717716500 474751269 235021897 247002817 291819661 891044779 749870827 619544546 300732022 938440182 563391879 921544118 621272181 615684297 797393878 577055906 359864620 766805235 574526446 660055805 480924676 817922598 580772732 382817839 705641876 504759040 776709797 375538639 965536933 519843379 151755989 477208635 500837327 113830366 464166795 967105876 570305019 921089728 654229992 847714042 261284392 192918648 763164995 864079038 529847186 615357108 642206988 247181530 562844866 120263006 950974186 491168010 242003375 216204848 485708251 878129778 103401280 313056713 507022045 402112861 444070530 316393451 329885151 684799427 924683039 377952192 143204510 968143553 270544915 686456539 326075756 649872951 829454718 588744877 112379246 751159112 841873917 744501986 880413360 549094985 725143058 105345956 519337958 467863379 203993939 551798243 975859494 127448229 339013829 819778816 613603980 187801290 824619764 951768497 464108646 340821714 341589927 818173092 908187184 409893134 265058391 436795537 968765861 355398770 891169906 768928465 441094922 171024539 679910183 372149410 439127409 838009348 342151088 388836917 878087282 673075824 625169504 341614646 242219034 386935164 390049360 369749731 621147424 394624291 871080015 570817251 993307975 664751851 660574095 786179141 681996671 818836809 643150016 469388169 786852478 786858947 175738067 479662300 163370276 582900241 706501531 758943183 488603320 918563148 941213807 609687224 647761893 758275903 536273888 954515924 525352705 630336542 461604962 191291293 796450626 194057267 974051570 156440823 813462608 478764470 284351653 228159755 766151588 657763962 448738436 815018975 241844614 534431481 240533441 377036195 191946580 767590474 186816580 893054806 656902705 613125282 962952756 305476993 991884708 490299987 858735792 400850939 126329244 746400501 595638922 247085583 759285897 756896100 417893656 424110444 300871267 676975345 256648809 695079505 138947152 508722637 563282283 648105055 803062759 582528519 373409005 566045131 269807697 590391591 167834926 365131495 372732195 455864746 531474341 340651801 136547279 382086006 153903004 608149904 122762983 821421850 271018391 695481958 623787423 374019617 905668348 637261430 777233430 475432030 686402139 640758703 515065123 253512978 457603783 355568569 496090383 455600095 794857207 470395035 437569905 950583594 194862370 676669332 182865622 661881278 215912136 891895565 804142694 942633971 368797828 419901068 699148090 265753439 314754686 875862573 282575964 593550262 876970575 470035287 705052035 697557923 471008183 136451697 158462364 498524375 961994729 441107763 230743237 111806952 910722234 606490085 949117625 690462995 603062434 452191092 379057755 330614269 582083601 699252569 325163793 948075439 291586554 170142000 200131067 777322889 564543798 577260310 432599651 397425242 484024844 159382541 200287563 171537621 446512998 635976690 418341771 206758548 649438896 439812734 213843000 359354269 750891756 235762678 431305501 635872020 246791526 283674077 861586581 742038311 539283666 916997624 153007806 597392985 509301666 616362173 522063233 289100518 274520098 392801817 152324617 152929101 875012527 404757307 325482555 750962513 651572315 358473757 286985810 299781346 951084461 324814148 266771758 710207580 892162342 355660216 790631786 660286489 196988889 322148222 303020027 147351667 561673139 435664907 673396884 582763436 752896491 520230018 938355154 291528679 615403492 406078588 204313610 879925681 989196338 496536481 626099329 330445610 946995939 842366190 769853342 747106480 125471349 841204114 380031845 196875395 949913312 186577294 908618272 306793578 494472749 962457655 974528427 928695671 580815558 834120678 697849331 493326231 250660934 586353949 425155015 350896499 253887018 874683186 380219519 565160874 296433148 831161827 606545521 297289116 223522390 443566033 632145183 456180535 571725466 143706872 821937469 701310985 323580165 926688312 994603776 176517521 283008115 664328820 457700138 511498558 223787741 993428057 135969830 600597350 508953983 716643312 502626913 770927817 802008027 846848632 207670461 218326112 887991995 617150148 340899372 345143039 674068080 930899662 978616948 460564155 564283317 634529318 809475232 943355470 186749046 221503339 551654058 965767548 252188117 201454185 197641570 354939503 959551915 202001350 438045199 828211273 113291498 587052887 173726499 550314532 581465087 205027737 975858713 178950724 910307943 756109481 970690122 322596268 842589340 376625582 360609171 450627615 963331720 185107838 263814661 343765502 710875316 853203460 161929237 905616407 601047455 156194269 924032492 277389729 641694701 290050554 838340918 826820600 546685367 537621686 362070579 763709141 224463939 761575931 733086607 540268315 693029910 516175324 447022100 949113385 638217282 174269033 934903593 331086857 221292397 649898352 348694288 151438133 362788406 938813494 200265774 143616446 278665539 869863901 585674618 925919977 452897887 582030905 271330787 229466117 467845941 438703156 515411736 341290277 512898297 300850694 475601976 459661937 925691225 767660401 508950522 333878372 753851529 146615602 847169128 367622919 501747716 992429628 305729280 267279884 902044296 602161022 240123615 351979325 118309927 135056557 843252025 703742469 693797520 100819079 306407941 594001971 670985420 804687614 737649497 872640602 324939068 554314654 325362623 834060118 149425420 979797697 561660267 958259713 544240376 110841050 941117805 176991901 138253219 873104054 161398714 914070969 428408051 939852015 211636825 965100784 615646110 754892990 895294215 394351945 212329115 498829344 646361346 162672716 780742431 707527677 182688433 602236196 219482102 930568757 419597988 415764137 898335779 726121908 315683070 845152734 151984917 926417203 328055167 118911344 139744627 529507686 768211641 734721927 414130487 632388448 786326832 797456367 624099173 324454409 566352719 856393688 334050977 844813442 960884262 875445310 709984562 142367179 449596347 911991057 721197216 856052123 194808890 500287154 573358474 325403794 618579362 907318809 471624156 843564253 138298732 724253168 477967231 281686827 104660797 181165618 102960351 795395212 959590374 781475601 579981980 605954960 807351724 591619034 510894014 342533637 328443756 830035048 685754918 904258254 725309555 281068635 776681042 298839955 300389674 556930212 182905886 984261441 402696355 842617481 401251552 184107424 678285296 881071607 778987328 798086180 945105025 157980296 798229679 117103830 746204385 876574857 145528898 581081730 428332818 689731089 623566994 691950173 791544021 858007745 740446883 994877637 967347979 488207768 560363127 495725165 505036977 553374854 931002151 529132256 613718533 534773092 849616328 719022459 714940151 858112850 311347848 745393572 200433542 197663367 650221161 839049387 293835928 110861674 595242213 461845068 550379895 742881803 106245883 199829743 667950745 449504655 326061243 453500480 380269491 609939155 414036132 160191920 199580220 154161515 171544691 941573334 900688255 637715770 496226043 834920385 979702798 467258821 111705679 396740634 257680057 346893822 521423017 291598015 717328851 136287733 384161452 918858122 186412791 750183953 951356788 730418640 280341985 465820797 415895258 905979181 494931681 748801065 307440110 197852467 144100942 832839036 413117288 565419308 786397306 722468152 686104286 637959110 797087471 379249586 474189861 120329289 176118888 251943474 161874724 388217433 761437731 777763565 500460739 719728382 569051714 158197492 703620146 370684794 481150776 435413521 374608468 637181418 752257111 693250367 362622529 961294443 798581861 927803700 287147184 635049159 585370193 275381947 741422896 385448629 376642579 623733790 319753889 651156290 332737513 741386579 134088157 703266952 199813521 373939631 604624934 581397697 337269310 142556179 732259735 909330436 930264889 889366182 337403249 105089422 737926930 328823887 330446399 800818720 263890426 285093895 284538419 170200452 559085507 769184628 162816890 319609465 932271543 257318993 261196093 942831353 526020426 942156217 704317168 271650109 654344471 769337230 390632504 134423592 116206201 607743361 354516881 438088824 589224301 214380526 824281937 987625578 370452607 577846549 161868684 885160826 141521070 863830008 133921781 554635297 889767904 792138473 647251955 367779068 660995466 621359590 515904961 673804418 763684202 182833637 581374293 739539792 594169205 803976753 676661311 150981471 823504996 664888457 244712445 928736059 155527936 356043258 635151223 306090871 425355237 206762575 482447592 489835429 471025952 437921679 443670261 842123067 637987152 606644162 498678548 117257654 115732412 429034916 209184963 413555689 940571580 635971257 480835440 193024553 365432463 236153737 583270962 498631619 413170628 234996056 853831390 166584911 798295358 392398153 743122729 512701063 958915127 469296946 969479411 286835781 629714102 160797143 204209473 944068706 614072434 507592496 403160554 279836747 814328383 220382648 842910057 355887787 861166595 602076892 862277192 591457417 737593404 336274113 676912863 202447299 647778478 451556547 431781537 941114861 718562781 714704111 433808711 408166700 762996243 608404493 676904943 847350100 788311644 700859551 841301085 542905846 562875785 833196439 518672318 395361370 471626037 572639096 775542694 196383763 482609104 229051400 134945725 965080224 103012531 899215432 570521599 560798289 958159066 924616611 990038941 189459285 758578661 350608114 547846648 950185842 289898866 888540216 101932042 230635281 105977628 759297899 355483563 819537889 971617911 347780144 669631891 542755531 572817815 908775664 372181024 279694320 474916051 531052480 715950677 759540910 765046192 500555465 997670129 748943190 911022360 386827495 620353839 581276558 239968023 272067682 484517105 236521349 294463597 274723024 685981053 702280303 215434276 557871302 347913861 471835896 153072238 583256146 265691772 428835678 145848384 845068959 900878583 882754760 604983897 584670126 139387379 657300999 673688183 205802093 136046514 178627449 498489318 512525905 843500461 238598219 458755651 959234389 651301873 559613718 858098286 928052566 898306836 770751998 243972081 617184484 465567115 462659387 851509374 301334654 215299917 215260042 442931825 661609143 353598306 991165396 360755196 562539152 835864119 197992908 208282147 818135875 675373853 972582486 986311601 604116004 332988249 574158506 917671980 916064051 770156857 517576424 661904013 391707035 406299063 460292021 988864035 170838146 139898259 845620513 804924599 742411139 373960495 363527616 223368893 213061694 370073452 335113271 324806212 625208175 269165597 307614659 610031827 858546739 443641523 155145686 385550465 857270410 887073858 652329923 752198258 228441304 451884363 443617777 554893331 658918779 815012424 722271649 871321496 205720985 356102197 322488662 893244837 786573071 308570882 139042137 282736265 716651567 117674218 480124458 358978059 470299151 896375590 211576294 624002899 180248967 592401433 273677929 391933614 944557680 512936935 292196378 623337014 257281273 348947549 778631335 387580815 158622702 750187360 834831675 959203648 430793625 433938455 233276779 341643553 113755478 819693146 670482968 631496820 667885595 978038847 498187313 953527001 253846381 445627804 790582651 139797287 474008858 799038281 767428726 725337000 656682316 226233346 955231690 829662155 835435915 874410853 601443480 314704023 981967643 253212126 863084400 768645432 982877905 773030361 464000495 842758454 737206461 358218977 211229720 331499785 828608724 374235478 324855200 758252535 268449745 943277767 313461210 696746641 652712850 110978407 399468056 539294811 181805782 326308610 117350737 752893686 198779168 431070799 408337902 312890200 965963929 203302135 512633427 855745024 106331951 389875217 786409921 875930229 914418724 474007280 763055283 999028330 862131009 884934479 789282352 578942921 522450671 824604450 742268900 214072345 189269129 385467215 614283533 189951296 907627905 914402056 283752372 602045435 785391494 870353331 764636565 305885758 204170395 240380071 534720628 434115617 616576952 931744677 614972800 625113783 698070906 994942457 673228300 465360182 465752497 150990568 290631706 348836986 128500190 875354051 732169166 681008302 862393981 588134237 498007131 505237029 610047063 303739818 955488966 501639119 242684029 639297249 315246170 304731497 414041260 569402595 159587667 135927757 873536955 754782302 994655199 384221410 467439345 905840303 644211141 889054920 612923794 321435423 500669026 848331848 615308847 154031566 229604709 674939296 358081874 481994574 681378791 200362285 824219628 736536438 326556157 559912542 821899829 630866033 321490395 955401111 708831358 132464476 109787029 408127735 537854747 300674135 713713347 898995006 734072464 532090119 311457264 242127025 985044702 191835437 520766141 700028866 566990727 556706754 499239466 947970973 505353834 759663539 759262584 705107626 599094251 111186832 671696322 214771148 249936993 675920884 425913088 878250174 982418840 200781691 809483069 268097807 545434715 918183905 315157971 674726926 497540352 811249703 850731509 936705061 753060738 780453152 543784501 402813257 169692930 601699058 746191815 387807043 314481012 810325899 734320879 120404670 802597194 272480337 455554576 342706776 524675636 223002559 288761105 566430631 160253840 180821960 124550594 594016156 870692285 763085769 215681910 352634931 681000625 827086597 728366229 287144254 391508621 410895817 848685063 829654570 819163956 841678807 651140618 904668668 110454860 303103330 425639363 373966196 628871396 626072234 459640847 583792654 750369497 479528442 551584949 404383223 528372493 546998400 553224985 902648797 152249596 803775685 722982882 234959362 523379536 602406996 303997762 325417696 311265599 779314475 909707074 262035693 925120652 336008523 294459786 693274726 308817355 648963520 213603769 668281397 344172358 659243440 489485032 780072174 551102889 575650521 222945622 150804443 716919528 523839083 798774710 900927769 668528550 377811127 278751578 943584929 871123350 375459001 154035016 352814106 193698339 329265292 938650020 863692857 951767375 195318569 818865549 303560000 640168817 405421012 885754706 678885331 646435153 984842060 875332458 850953033 262090492 316720438 927742868 107815460 679938268 843018507 910927425 819551730 742589416 713024845 925118958 917973493 432019141 636476511 925171908 117722385 396724185 334832492 576576602 898045154 462496663 909657147 404703832 267354439 753162522 186118375 714138831 124485869 502207957 264420759 911773483 492814234 114839407 717300616 662177388 995864501 874586757 464308916 507389680 995209289 473909399 747256235 990383190 247796592 506858444 115727290 824528344 363022909 364522740 883276921 346608991 377120400 629763254 580345495 476412004 648144773 394444388 214374235 973721947 835763124 896979369 451352587 844543386 978460708 623344184 702853325 272648593 732988622 133993682 710202757 367977785 994840418 643570650 212235279 744565801 299961409 487072527 543740501 103009521 101593888 587477018 288704621 495232660 166918386 950691573 417859581 759155321 876716125 745352017 813736671 890646984 280506791 631401376 648094249 812430168 537325711 475107306 687144829 905656680 339884924 196496817 352638606 102257621 190925719 361962679 797882073 773870645 874128640 163887520 758283049 369884216 329199932 671551299 278645049 130720741 925168256 337644636 437253780 203562773 148208863 775111440 663908932 123040456 859579976 750660116 112072113 853479034 286324258 210722119 722027977 283147567 421926828 104765554 829072180 308795948 577960613 193751806 479628401 324273271 930087866 417096835 637899046 492766729 148047306 533533297 137566499 688498341 809346780 456617407 107195377 690789263 172409442 529864106 747488360 836811670 405690428 698059492 319979046 569031883 468591295 116849542 339545328 313732703 730043980 195980236 869159165 176127816 790007118 125310142 409083364 971673424 170816655 147800444 213891434 630424655 848273683 508395497 410453803 613758209 719119040 624839251 506229646 411131339 970081024 404093099 311274212 395698868 424299352 655659906 686380859 646132987 538591853 657375267 542422306 802481861 110164591 281550089 401863868 569172266 653222728 794745177 466867912 794577593 232626121 688510694 116681377 136690474 774142753 426684681 243668729 511278030 202400489 731691483 764126612 842723281 150041875 600180107 720793806 286015124 219557031 561430354 945865788 925498119 725673372 270593451 981848173 852481787 303630786 206647405 398819575 548751186 880903681 398487365 926215557 788442820 972526493 746782723 572242872 304060966 329971289 842839819 229991911 731965740 891240393 159572013 130866575 385163227 210079808 483530957 468905573 342649681 727424416 104520726 775203751 988242376 599394417 293806684 832799000 356776361 614915038 853985956 647732759 556857322 217150968 516259578 476336887 785654491 138591240 819150428 585315116 708319368 831951866 803619250 929701816 785070171 816746746 421535032 870314819 801877224 951637229 815444514 669483811 703283856 651324765 495118673 618412516 273073332 463722149 938799455 766857998 455733935 613892247 392464032 850376995 982337859 760530467 231238286 179785022 764388532 848737137 263850072 568787883 381604804 940069184 866802047 376834896 124277475 162068697 539793645 818415472 902869896 379999332 520204992 429168752 641425947 965795208 311296167 906261944 803352594 803710105 478831471 755357048 223228544 258988037 366670457 815778617 915894123 410116632 503870195 560995424 786065012 861537268 260876347 189684090 412843130 555289232 235866129 414259620 455337957 400960485 534235030 769455826 134760547 642563311 360590205 225925762 834899538 597881668 918844071 137148835 575572593 272384761 707488479 622891927 434422064 878216933 243526773 664767860 866917976 742611069 372251997 785306712 619757361 401121194 937410759 547015521 587865602 137857391 807683334 584012777 961321093 988692467 863693261 296653558 234540141 745327236 504237648 307161510 218282998 485047148 838698417 939240530 115888160 230811225 760500272 121747486 703475071 372127757 945607734 725919031 343727117 316921996 350761153 300205250 287333705 178763947 176724872 395633704 524719273 923515355 942974864 545374016 101656847 143353901 526808073 155896856 136606888 707083111 426217645 475693554 283594903 707719464 356260664 292060316 415511725 674515227 984307533 754014060 168427974 820354754 245078722 274981216 864919879 895097294 571523033 995417685 711926560 426649051 522275304 718326702 442125183 295679133 905044007 103507595 490893766 358374722 877031076 164069120 126173818 892905241 980082746 476975372 917186509 475915887 435742384 197870723 676353734 237870957 498967233 382067338 651420397 240471170 829967013 840856437 955157547 406570240 581085478 161155013 109194268 775742523 466880405 640330799 894716702 456289539 723996326 162416492 910560213 515648578 611795084 678351775 671817323 978059303 442703389 159453515 814422227 939282357 145409356 200603904 956133872 353097002 125255248 190220208 477598706 756933727 880246543 355544661 391398715 808251165 477257497 681532725 207872639 426686223 266853230 744066646 262077440 920121874 738603722 816076991 448763865 943797883 152640772 490472825 764989154 325305196 158152904 262241528 999096302 706668892 579990828 559999442 342737840 781808571 410341953 438640272 223368619 762591230 466683110 625574610 801758093 924712708 467800349 804504306 953856317 518808995 102085037 622809554 634378741 613078147 114027685 553244404 484511728 562695667 748757896 990085820 994827481 621264883 717844202 258378122 283856546 511600661 849591583 657992147 215529760 969706951 107599593 351268300 307384679 190006724 134706376 495190165 514872205 895184192 290965556 237936405 326443938 471549992 848392064 576021035 236297150 439431867 144901592 866817142 264539430 547112730 818330174 768357588 196908593 798293383 798556330 969665493 525675708 496175539 829542934 414835037 148425310 618044013 412792201 502409176 502748169 532255546 750450798 923540110 825009143 833418830 889311548 262558526 348277944 531338134 375527635 549123525 119585979 944065572 732343397 575741410 310516601 872065228 820677704 352254015 637397137 401491760 402336937 574249641 526985769 794010987 987298270 252049489 990608727 675164644 539953321 908480499 292795057 893290910 958737849 567645976 908106661 613846701 903498736 553273793 967463843 570098742 926141042 949688999 271545244 756830258 908792771 925412926 403563896 204379876 325519903 267040388 618781625 287692767 803391688 375715420 571744708 803250464 747831066 407722495 625791466 235512469 683188363 413777803 761861032 716152356 388406393 408062141 109767274 507104137 765887592 538228748 358170826 918038442 858357793 509345376 854888461 186181737 782028410 640226758 293082387 394860446 738997821 816310442 790767616 126976558 278647531 854858167 663002318 568784077 791060415 901080832 639732438 525690698 835191681 169879557 740654628 687964905 478097809 594990694 595422257 320343935 656727081 880965515 177238102 620365600 114645644 527883191 361856363 225933415 728229528 686372405 929696325 926514815 332226513 792535597 655985788 464426519 715583018 784145184 694267993 939331141 863369139 544235507 998901266 440697651 141638530 775669105 182749858 268496901 821920085 680975091 365768472 450240556 679900096 608469618 468605657 413136043 382247497 722718909 402232079 776057036 161982423 149197771 669399211 175322646 209956712 698979693 601841678 952290127 145446587 717470855 656431400 148835102 247864922 502925778 655982001 984244334 315495167 625717690 183870581 490952182 976205173 301418257 198069510 814437479 848581909 944474957 649390601 579524604 723265649 293204480 734192675 815686406 655708088 885911399 122420420 759188680 704624478 701335628 649239945 971822513 893349403 100688482 443256153 517836905 681380033 515197666 617268405 313952316 672006204 285984252 926285520 856778862 276179394 286419176 778691497 811863298 661811328 342993226 689880626 748933022 482013091 834789639 131744595 777798035 723187501 519623961 905043335 875126255 169450167 339125773 944898669 310769129 951019082 754475958 825726562 430563434 520049142 454525660 778812810 276189709 980611351 325099473 363589902 488789440 671714491 705236307 147059253 314643640 500940804 202591126 805468787 628070512 837983118 159140148 223739268 966406169 236711043 827351514 535767182 455144670 328296781 899093469 670915013 652258546 197045671 275106958 698628692 333923203 768330681 716670957 531804878 507077730 767735669 699027923 924389922 783330233 590118129 435861645 310716301 336581323 985251025 559209216 114515271 607848894 203861429 350562615 147734948 375434742 984991366 951433307 364993501 744520101 436194998 961483005 461139998 292618845 409547654 249513722 907225051 691808934 612809030 443267734 760736986 164294814 825690127 338160793 728106349 709144746 863820382 653675462 775008618 773915460 904555204 729532309 102364115 149096720 447850605 719073507 421963087 772163355 727542603 782529757 509592911 172054853 150158076 665643880 580099022 160494102 115511107 708386183 549644343 375130896 225603432 234293823 704968501 929563093 896910411 702884863 380871772 882428465 374513302 785096511 281029988 695833809 215424736 966201687 469965291 506453899 482065679 130457863 938725613 242886781 711882689 216029869 213990381 508566847 198569752 160240434 985486739 911021766 784849400 598595386 124512708 165720341 295891989 569279298 881328478 989299681 306441631 817970456 390607972 159833788 546711512 408679859 179020755 148855225 934258060 738792136 699371315 794780699 432907500 518627755 508443240 929065717 378688548 707884814 447502198 372028423 828038152 865303295 248973260 396478777 513823616 574276105 998840754 686319731 513915978 104329620 852237173 832896175 902362654 969227803 541966603 953858550 745394836 339789086 890373644 710533660 591720111 344832851 127594937 842899231 963484725 231604839 610413402 557816104 511572343 103474114 828989712 891437948 440586587 831024527 484573146 872902058 667572614 628162866 847069273 947502367 866825989 280514299 538270752 951123098 663932991 365436224 767592091 948736307 757978944 721978090 757448364 123211137 483072339 279893327 484564530 197132777 499518514 618266390 441541859 316087986 831345527 384199540 243600901 464386042 443960791 375748603 420981250 576116739 145680804 414869662 220957129 126886634 423511969 691420016 232026075 646852491 351256820 935726729 433576622 670081581 128711476 860089011 324505703 790460601 306410976 919610569 474768996 877048117 531184800 104972996 349247995 552914799 835003437 777323525 344915607 117374375 302016474 980822241 838527225 833416784 514293383 882153920 937850995 796651032 229246806 791189874 114515556 280380754 669238568 920227549 601760690 684479474 841845247 548487024 656123327 618149788 761045941 387020468 802770055 422387877 649810639 846259900 641037822 425951510 797300253 496704616 904261034 283485304 495540870 582842097 129068270 602784869 842590937 790787522 806758756 827185727 155215349 626398685 498501968 656844434 716520693 372506878 269067980 993945044 480094839 261518907 499955257 173654265 997705885 214005285 333890595 799212006 200591943 592502353 943398540 705724761 834170897 196926711 275250330 488789420 979951197 125488425 705402409 974058699 950352195 597350422 787149230 856870100 345585417 847545530 568953776 690570827 445132795 868769853 240697062 677775445 943765006 498425347 196983614 138987576 373202109 595904584 455504306 582507974 933185405 396515129 758666775 806723476 763595431 969366864 803939496 542735631 499197802 214542958 663915752 351266561 908850272 456249024 864249595 269735037 915784521 620448805 117040762 282400913 748588001 539394472 544220670 873812538 250017319 376875993 973371282 832784460 842796646 127350276 503498642 380085399 977688410 190457573 303343412 829156161 195808515 597527073 397672435 698569443 220299935 964340449 346323710 238568595 162802990 555214564 738490254 403223953 350723684 809022438 896890042 774378821 867652176 384740684 652799708 127283957 697265519 209280579 330510752 635889769 602522558 414238207 544521011 795881143 281657365 356001597 103743605 630752073 565824290 794189491 237516053 444548768 795198293 146174456 383290498 495904274 999870308 916218425 233753024 854948265 357430387 161856787 893330747 417358732 200195164 634549497 728752544 725568789 871431093 414176614 580314444 430817503 544322209 971956549 623398303 734826161 890770923 629531618 155644998 867792288 895727774 928830153 666509916 243405641 104253140 911065250 690296234 162163483 309036157 832073587 979028785 298934442 598473911 604334041 287889736 101633871 418882153 335888872 850976011 921049370 935197391 889409155 258148891 280044499 300268926 173412076 499262976 685178369 140481860 602957700 102085095 632784971 706342670 407413533 250948526 456135966 313889881 623893186 474824922 296462118 413674361 511541254 552343512 359106746 475997096 344514227 359110221 623440352 376064256 204388778 739586415 347226027 758603030 546027018 412381795 964266903 743924864 982936418 284010228 321011811 735100921 299068644 735648834 700878558 103860593 857166924 934881929 354296843 542883031 976827428 853941788 547810091 951263862 711348485 201951370 764216558 414365709 916126085 367575236 573323634 298961362 974580433 368591811 283930891 471165687 322926780 207977029 443317538 778654487 550432421 185834482 920227381 335618545 847486359 122009225 947433620 203951974 547462388 865343301 895747411 757231600 778092889 602191812 459578578 887050032 622659556 336004016 500468045 581053171 698348642 900794410 578958733 344530410 855814673 161816661 222190333 894753696 514513723 230036747 357192572 373108326 939045152 986845158 254698375 606214767 971708379 252990912 568069942 474203965 913749737 445746484 916465943 957399631 772432511 689657309 720616587 836399260 398509779 432475707 950900480 125852289 416539563 351992171 118375448 227643628 989535262 291678542 560460750 363135899 987346680 321899118 602416413 339121647 358466857 421006389 369023123 767955060 113111138 619711655 977210627 130690129 250520425 542462646 356967180 155715767 110846439 615584058 702569477 907553448 953096798 226931256 410407255 252159127 269427123 804153127 434062217 839103829 896334397 294839371 287720481 739028891 482940214 699472087 714140092 882268901 180641183 893737981 738196096 272841455 800516682 119148957 527402933 457999316 883289427 912228542 158425898 287297440 576813240 709209062 230821589 387929907 719760053 381363739 208917008 105408753 834045539 844864950 988830693 414910048 209165543 779523005 344449202 332821144 481327867 571577956 991730183 797615027 676898299 361335025 602169222 501699697 602535444 383467075 661742275 151449124 863936810 315756732 623220138 159110910 785598591 227708838 940044242 148094091 464643976 582754102 975914008 130364058 485239206 879456939 712493541 424802817 689376965 795423195 270418819 382390439 919788179 351909461 774631923 894657479 712325709 419170045 939347361 447093229 747487495 502507488 446290340 939869301 881371888 913323581 885065501 288059851 932508686 182639606 142760674 876906677 960601309 886019093 133073611 317011636 371881679 341536441 821674328 262109530 100635114 322414880 621481548 465692215 397395844 303811665 794324228 822170709 471313444 102069171 548921165 990730108 235833045 952290187 229155815 477039221 666590822 430707403 307165024 505477252 166209662 120409766 118266278 813414351 516303817 793543099 645962732 106598299 413494558 447214799 730430630 601644573 441258852 430800990 496503742 473166606 240765623 312702598 497478044 836962669 717422145 932180558 659564087 835601008 405836958 848149288 882628517 691635681 687516402 603246822 411632918 364945681 803708270 377813279 114521136 445565383 569550214 650830851 355457060 954204481 390461528 513054167 697981989 440707501 904946073 473477050 305207295 672654735 796537221 776598421 746758553 803106863 985977474 561236243 241612094 493800960 682430781 108912176 986597940 377844654 494289889 887100732 511770335 892155631 435392072 208245409 301015570 713384053 737333435 656307569 770905751 141437470 421996307 802506235 101726366 600797650 871222228 480680715 205240944 194625679 391637606 238200333 421851836 595201577 400500565 161059928 703040231 738071956 694828354 342985888 472688237 211560024 632340280 553328957 722084500 232261217 675687968 517033214 527646495 398446533 881607333 956522777 182144058 166823387 665319042 500044565 530711377 812803618 651894560 401380399 271601059 279616955 599122445 312649553 819540845 249553035 383953368 356866477 273624780 137296742 409840829 841529947 765414248 176395849 721425199 258441665 599903668 843929837 386331872 394308014 229112604 727781547 253118688 956776171 571685783 726402806 877700402 456877080 386191966 972974616 922111693 129845075 452631226 432062674 896060733 976974873 136879423 625172107 959245242 641830174 839379630 940238535 690202842 540204924 398775248 439451874 862841736 394665543 954570532 585479636 569289757 116586818 292753087 839285776 433589745 762064709 992986844 509128003 151315825 377045178 687445257 883918633 256026210 115589467 863503516 165832668 379353919 238935027 125525010 195668025 970194320 424379287 513521670 275356959 715543917 473186678 689984919 311074864 819669894 585728804 186778982 604999523 658628522 959065071 873357625 644636619 963249547 283778835 607873332 955703735 948125224 374404197 451847990 859797806 520247607 858545041 769759292 622005962 151960055 281898109 510967347 536611200 159148749 457413556 258464051 607006533 139512079 709302480 206841075 446613375 402650037 983624314 359784042 355579827 908332265 107335545 690851956 120597368 455852069 582650416 262804230 904483115 750651078 199433091 596384893 113069856 967619178 524486796 468347376 790349416 503035071 903415626 134041240 147595754 867368337 999216987 836301355 577891967 413777127 327001803 163964145 147266487 856661604 253126615 546426357 599804204 189654754 154510914 440524065 102951951 430514038 569967370 446879194 166132757 447257287 788804500 654955938 710459443 567523947 231618742 315356174 669353721 646861689 874096972 936128873 790477801 174761793 586866646 346250371 357578907 285587457 850841861 104439313 428887809 787211620 102680948 774829185 237323899 792930764 411839577 821255394 918520670 418192166 773030117 878992414 747020138 788686209 417806864 209354722 504267739 360502956 166826412 609429522 525318691 447182013 451369346 218425716 714469849 649392907 478494523 396091832 625560309 831013025 412562821 105017341 190637101 197788890 886772923 947504833 510175382 521375731 294937078 479074635 426390164 209023362 277076772 500243631 511535115 829999352 392553849 384067213 960048892 831577380 484229114 141907831 906645983 798388967 772056657 404257491 471493721 788797191 548828010 152431123 909729193 338507122 976682202 386849897 894675431 624040242 720893677 162991160 681130590 971563698 820406884 727324378 899530013 844053248 953509787 759612104 376384120 240517987 845045807 226097315 796083660 426883330 741213883 291511925 440531030 199082898 232435002 642636880 905319770 994723649 264025699 157406964 407849958 124396179 255826817 223722239 392177433 841654696 344374125 159395335 833156125 623019988 959220521 195973836 761339388 364954045 475455036 942799138 523310819 424906782 824176650 442781801 907126232 287835375 619119416 901648570 929403126 525852631 427308517 613120349 298219107 326795033 399626892 348406467 855401668 574179021 840633646 564854811 511889334 639797807 548170048 103079563 653998768 676436629 122824041 797905610 848335375 491758034 845639058 345458952 679395239 574578624 797030577 620397646 645386717 562379235 251859631 964203165 173606624 894488456 372704204 273556179 977201804 761802091 394530324 825926626 713022949 437060112 720463894 993535069 577655182 508316619 986920351 965155611 402693903 300625674 672703688 702288882 833081401 351618882 906089714 937342233 541042409 113914373 368982130 619337610 350890059 936400780 697383583 644517342 720545794 299260454 780248798 365767008 401379680 134920711 531713864 298425488 709917980 549773001 842773869 938606476 515625801 517032434 230693152 453985016 951511681 840089478 573164749 774876910 136521038 620966740 822997237 568477766 482997842 128083539 896959700 855864594 228152061 717060665 280670913 494274843 344726663 984923143 277485915 230723927 859618983 581153534 891010685 594851285 596000366 285092954 667954947 528139684 291090139 109979327 426367551 485815179 792377712 109269248 192034367 275817541 877649369 476301765 266246068 607326723 781510448 982897922 531255808 232588232 622281561 525521053 529137082 242353220 129098977 663961600 791968939 275070413 841701990 154138071 797731343 923766000 437250227 590309636 409676678 466418798 858323572 164494027 856690611 820410924 509087539 207525718 451439551 387507594 296638427 271228775 929854278 902772980 254369988 937085275 965643592 964410576 216613018 324748905 583054879 635250939 229551031 540924053 628561978 445585876 131673206 536943168 399400943 749442976 601983975 314406348 313787225 997605913 201348893 989284579 541194567 583264854 462770774 778086676 703695830 429502357 376690011 502420960 158800621 924655089 919747853 343214671 233443812 201592282 804125387 535549506 258877719 813567193 467519596 313367315 692314520 353070229 641771161 473220737 719862816 267291175 691090958 507473595 832405536 844843392 282958895 235947646 645652960 481026028 825323799 341579073 236441490 450692114 456269976 674211435 862153061 126859660 328824112 166904232 623892284 439873939 890134839 558987653 940256550 988483686 866189859 162440315 742832417 747633162 419769658 942423853 119293534 427624848 527756554 962537564 209334387 461475310 204881960 504724922 132221857 876038248 485453627 225982874 589514139 481818283 808698520 427703968 222420017 940558113 623902065 909079885 428606023 244645328 225730156 215207040 656910163 119070174 387673495 543414717 990032771 906900858 345679767 591307890 373542199 758006186 288524543 258411331 784797703 535646997 207580615 413381071 901846759 417692585 128230712 151315966 189178120 508622184 385406464 617053977 267968322 717241272 729947898 895713074 760328362 473133007 899197486 787983127 134931545 340994700 928121218 172760257 711761426 710479545 689490220 560301433 879888723 903216178 144549848 630993360 476269779 481061920 499395152 105714647 338168554 275878281 216695496 559937410 574340261 828290813 675744098 176562728 121156245 470282354 583612043 242718873 732246379 989230396 154385033 697668425 625635877 111731516 197917031 565172316 360339513 843709231 953989499 919313884 403010892 893440038 877912175 897090946 286244464 976083956 193948826 540916290 663925483 848274789 917154488 319085001 242744070 696616338 735166767 897684568 616871549 593633760 489090985 571306133 467873150 117461000 984406013 628269553 133779815 904768591 733889757 114888303 255366796 914766603 309997719 302969231 720699540 210127830 340344567 843194516 836944277 712653204 185034743 773085935 734459949 501589901 515289542 915123824 668322623 867342906 561666371 526766265 508025162 960750694 658039765 765842029 898639281 681115313 477167731 221725915 259606267 809072265 706949025 777982175 562028184 406090827 958216490 775506851 849245885 576311586 362136656 610142474 315696232 412081461 345239293 744797995 448377209 471064569 893781874 580521128 823709109 936671104 967349973 275005015 325176626 959112317 612352181 493131856 930238020 565453722 148609975 660041782 582872362 902715032 728914691 133577422 300896565 552327850 497411558 592381370 391911221 663553318 185350267 628813900 945318816 774793753 647747430 704225219 599587961 242421589 102678066 850488237 475879501 439965418 958424103 671619638 935907673 263255596 425553186 464113725 124392434 238843929 768829501 119231236 168839533 651237127 275323013 938223522 756884468 963838133 789715989 430660742 333292277 683365207 275000861 778382660 388787238 877894327 511086204 132452934 257321886 675807733 395926693 773654743 290111656 455548135 592778307 869502099 971873729 328962724 808202783 549308209 970682125 217865224 842990474 718876319 603454306 665350452 850270888 639436868 432063077 629078260 851698164 529292718 248632306 969442970 227835836 958486254 678909860 586503256 765498199 351640554 729815045 653616538 444383677 380355220 353069715 399029107 417706936 364739142 331193675 163163617 784113108 611419851 797680920 521396664 541755436 178449658 238120147 763622315 169786081 464579947 603461081 264474781 853790855 416426435 853995131 270189102 574653107 750611278 675321378 368421406 746155410 435336330 675766857 669927714 235119101 633637150 375283310 605865764 541110915 399509299 822600343 445664566 939375673 903311001 682390246 148164451 374031691 246292892 359380984 829453122 377824282 495243668 918146211 204784178 785746784 331449417 938084750 361968234 966570882 235906050 911635056 559723765 653674246 241774978 302430736 901215283 298040794 581623781 169619187 576845685 469147477 559095998 526742865 497149373 362146931 102604173 470339167 251310348 285582000 612923106 747588622 951251598 843534900 916591099 440886611 601392432 481680137 116254471 170156864 688925597 623089523 322162833 428375441 770462061 147356847 108368066 258519623 761284257 873380871 539920869 723536736 778399760 674023241 182194962 758467159 251207658 234215384 652672076 449339900 245409075 697744563 466377359 611007895 241428996 868018419 234755983 752785190 453385550 872702189 152025416 997335762 251805065 492748884 148012237 792589366 567357071 146039812 471383415 390832392 536300925 430155262 299034557 720198961 380020200 103304421 900566679 398747757 889861551 798804697 409960405 745527387 675277780 660999241 489595273 340177615 216486598 349395100 759935544 663263131 159729033 943361623 527995463 688203688 175685690 609775684 566889257 354839137 988840423 801554079 527861551 401481533 545587966 113170016 459859717 155672984 907278464 129857271 138452652 613952095 166746807 860249992 501323183 227383107 315206214 991786187 931310573 509441788 561376351 460092318 194695807 876497144 574775715 996723260 988747249 998297463 134854427 817887871 353982183 788218142 765630885 774714883 645301748 653743578 656075010 570720524 881808393 774834383 576865589 670120636 887905728 390804204 186354492 816876789 493432618 559888974 722219184 328826580 662723114 537168991 371981723 932869818 544982470 256906042 947625290 426255908 516866788 152479624 123995984 694368059 827328972 136004856 750946357 901093911 737052587 466893428 819831561 502046710 575658790 851615210 423720340 478614541 222955066 548338100 866847026 368087683 914059750 527578909 321034320 933410242 826258740 966703863 839259788 292363779 996781414 275484589 710582921 791802232 491888314 934118691 354071854 115753577 818012662 616552550 137250012 138714357 870894932 697617468 778479580 754763948 989290365 340931674 251893895 940223484 106657248 168178166 494862549 827836686 111391468 502588310 849537312 908586059 889209452 478914420 178525296 208538144 950391755 524037770 173950627 346100160 201664582 259251612 518405397 826854888 269924348 288419111 505767391 719029730 138197225 837602411 889458431 577700362 476095498 270898948 100836605 538715747 461546266 240618433 704155334 782491883 698950167 247225390 460040353 844017737 288563620 410373362 544614748 862354575 506048716 654203737 442027119 561151905 583459072 796032352 800150819 263429447 790554008 176213308 885495070 974936964 983831857 297226607 886246144 359137791 703976773 961009776 213738486 231650374 157656852 686416943 307991125 533402960 221944324 774233417 550385487 461862297 820324013 898856154 205738605 441863129 653529034 544016024 890800205 209002102 303496015 602839649 462915052 952222099 460469479 761237555 195406849 299066124 529210348 750820948 424405807 207467663 985398340 923311633 454591954 639753551 203077877 776409427 321978854 114430131 832733814 205547573 122563702 729528216 912256060 387150433 943896641 910150415 319468384 910937221 617695687 542363557 103534201 172539739 570947176 697961087 767806609 513569446 210773327 229907840 668073836 991366482 813511932 640207940 942568711 883240366 687700808 289351133 971987439 194113727 135525101 893424274 950246412 612875258 488305329 996591574 110451368 920882039 928380750 887157863 408917902 908268036 375078461 624242566 323056362 422545228 453394197 853928427 229016209 116830414 672794150 480355639 510484816 424126181 215901610 468588627 281683437 449874862 586678395 745836857 702517160 228555921 508776029 418472205 197459633 146085141 451660119 183116882 775759637 741909598 291752985 157542151 571589874 790132079 766121516 838411526 367875166 330115458 260921990 321399019 985747557 907201332 334437345 571405953 464622556 750014282 518136325 874125623 798818472 983966428 251940069 861963292 498421179 460082048 551859063 719304756 523587430 129318807 970396336 489131498 197095097 928313582 464189771 900864345 616726193 853628193 417465631 886083481 210290412 426721859 852102764 691494668 122464000 279639724 937497650 943700974 697496998 432584613 756917498 529260915 815391067 561259386 558760471 910583820 806837042 801332628 104249536 435412073 269103247 665319342 952575892 788705391 551436911 638666363 275449204 253806531 484349330 878202807 735552943 358401250 328978669 115495665 290746558 191918426 551736516 714452274 475435313 869895258 393437351 842141838 206372655 413095031 224386869 154515518 686931746 903374083 838506135 172163244 481161087 595319999 370074082 476111110 211019363 802195748 724823348 876359091 146575914 211267781 969846800 795343484 737024122 363335668 382030703 466795835 745385992 869519176 587291172 730430426 960396448 823559235 243522348 414243754 390075414 932376634 486662220 240926487 930316392 428356756 959906475 629351092 275420816 220644898 746068896 879033457 258579093 603944969 324779611 894336315 767807887 474585728 657615493 698858096 154652793 653229729 977064801 539863745 496745237 800971279 518411537 469537204 502773978 698157911 250188943 615944228 445446296 208618112 453487600 674521743 586593211 950670862 169658660 333029528 112301094 227124890 863782106 955338545 825097042 951087621 923721041 187440408 900795637 758490955 124312743 408432596 392601485 894336178 784974761 734998088 889929530 524940023 620592797 278759176 224625429 792577022 830558137 224775722 302023645 504844123 540064068 641629846 794827711 727687518 639505848 255061225 389422817 192198533 466827684 678929824 737230362 645128334 312468336 109390311 216175297 826131809 195762852 204248011 217185858 965645307 470130947 575729002 576396881 882231288 243939217 272284742 436578859 613102263 563405684 684577418 516493923 356521650 938727526 687919939 585959958 352418605 754665018 496248710 254472564 671206239 103684799 267107226 912424412 535934609 139443776 319105341 181415905 314258265 982405254 808014022 219917883 671860193 449450088 420981205 738606356 132831424 931505993 513006706 555180283 458119711 714098653 473963432 324873863 327778576 775366180 871906843 559156751 870910703 667626886 257477695 512908756 974208647 303988854 400442776 734908180 386822899 871497337 860454126 400770173 230640099 610211764 160225308 519860017 368590594 300886109 448073847 102142931 507324907 203489731 988596131 834333678 942226738 456375162 990490452 555508566 321377178 342827700 469960330 218780737 321823612 936129487 561234099 185897374 489975270 148362806 765738562 353596937 965731483 272261521 677556436 877132504 730026727 130145492 841905699 418182349 141202290 745008445 979632371 136781624 885152439 244925154 313584629 248245171 748735333 650462027 872207568 201833391 654337296 974014197 984443792 871222823 535971647 815739851 999862026 391330051 323267429 322199696 428230282 285906229 145607564 810649539 698838591 398486698 288680022 345624765 439044572 761358175 710229547 483339728 991724478 684813545 826623998 463509481 836460211 878671737 296422370 797328946 752353883 256229115 126822440 267125319 492061661 260768224 120093465 493997440 533020305 426895898 866498961 665013729 699736192 436234261 348661751 661718649 376673116 646682369 986946263 818850683 404253282 284453167 296705722 670218085 931909129 133438294 478341342 605217190 809552460 712137781 712612656 858691835 980558944 671992170 271773686 219594636 581944418 152810648 819163555 921678107 141798910 482121574 789723923 644703035 562058092 205634316 885913758 609309911 388533118 851308713 433811259 804129485 413136992 787140887 618236547 405391546 604863989 888511322 539713785 966381132 158144902 108255559 312272803 317879112 679441712 287850621 346681138 264977540 736093637 996882741 302539741 631866831 428830519 437366969 477794577 559605526 826544756 231154214 350294070 972523964 875905712 914771606 445542658 437101128 770042916 527767930 129893418 518323454 829969866 100339893 412572004 509756182 108097673 188777710 590498888 787015097 625100434 239535261 923928383 671631229 393079417 670711661 310350826 323172784 446517155 856837498 136272941 308554673 952110803 212984540 472014013 666098250 859718798 425079980 265239794 128526213 164082754 263691584 514904572 298393512 787025888 151802345 694748728 654369178 344168226 809049020 222566875 808596860 568510080 616115853 755022721 550886262 621551364 807571680 332233706 884561012 994387233 629842306 111112967 782044219 767991784 883268120 644717669 727708525 123445800 178545238 437590977 262853748 480362540 184126749 391045651 408573718 803303955 995035194 386354386 320775248 655010317 759402559 630431013 110349678 644252244 401419075 345015781 966994520 647781847 931100062 822798520 168152677 925190516 531232631 907392026 563305929 508341076 518499519 611020767 835607239 649489008 371333729 550133573 166018808 105129600 514805740 572237690 807941686 552345528 751895992 563576361 684853062 514003235 263775851 348648362 947514454 650026899 121025588 889292010 927071281 408319904 411643352 347791829 567936643 441152093 565414523 217479102 573354205 580450894 532771837 529750001 112340884 574366240 938367353 970404645 243545731 826587582 508562686 519128994 992520964 457638729 880120466 777167414 947398982 366890144 892374984 449789789 935194650 964344642 147256453 728961511 729026657 801594986 608860490 902593633 795224736 867493400 437578852 232832229 969686155 395796377 778109936 897536602 149045114 551083470 427499715 132944301 533597055 865279018 358955683 623201643 530514808 115951929 207534432 392972200 170545990 268415993 932749538 296468939 510048302 150098927 317930174 170172736 892218236 556772048 162194990 890200813 257812220 693254342 123326472 646177405 253819047 434748422 736237324 880000966 367176906 385670551 930629516 322189612 346279271 502718924 155173342 558079608 501245140 755544923 336194411 824065268 322543700 538943887 794669488 757790871 825028322 381874843 759900560 658156254 980945206 405935017 914073451 515763155 600132050 515344294 649237411 510601251 564508780 447448947 975094922 852373999 130466067 732926065 935368180 620319354 879461950 507947215 890973635 454772388 710604877 989393995 190118272 883343831 739368261 445284306 803708646 241599593 181604479 508057111 250453113 638001669 456434390 897133208 954634466 515620132 334743273 923555540 155085631 391330791 853888533 816146038 459536214 811653979 755494593 979073153 508957500 316514023 931717392 194501814 206071702 940163201 197046131 460261191 709387874 954026091 666371012 653481325 595706737 214058056 342356356 956106669 773416842 112777541 870864352 310756090 882533780 974345432 223195845 260538119 833320842 591875340 513261163 187889488 783885029 651730624 672872187 890585971 518815816 941226985 149161728 658516392 285739519 383159428 917240551 536082412 951382766 206189318 428850746 346772155 550963922 102425666 298873179 201979571 319719241 729543904 551925368 938453815 582247136 329069086 885010519 100954837 435851395 718626213 995357965 808526422 425270048 744143143 326924482 756556418 587085118 617285544 905820642 259753953 359554350 107291030 272547748 452004832 869335812 725803945 326783967 360997043 512386514 346835376 198619170 121146845 617508836 772351749 577438928 538670587 735651409 737952165 575888630 230483875 622111613 992626721 982770420 597282520 104799442 465909080 141175034 279361648 590974332 709709117 364842356 176803551 891758720 951510228 563276840 747239215 941108119 771183918 989096466 375017589 253009100 981316352 725276490 574314077 600513067 748981775 276218394 391127876 209742268 595400036 308237307 722596120 970428511 930095737 677258186 598610289 617311233 283036876 873842230 982528075 532853445 722176738 334802877 797730400 689248563 136292976 884986048 174523396 688455221 845835269 492830888 443748958 306206529 124352833 536501720 627042447 537057761 789425473 851535694 581827813 734565745 927324624 944549440 388564080 836980255 959956628 817404869 748983063 771591366 655469364 274358926 190230397 939394234 208340798 374733469 974169519 136501336 528745128 198191768 217570004 186774244 430845991 153096164 722803587 770723188 795207820 791464551 729609895 765851082 210115359 171090825 471908290 976940837 881122071 957087489 364654028 221042789 886984505 202428736 466349910 763938553 493431940 532356756 761422218 297915325 970394900 924436622 881330707 523767070 398189592 547553529 589738287 206501770 171729668 510037977 743686421 758360796 257940366 728239192 606463331 691253939 807023947 593233076 109711262 324948303 798426473 605716443 706703072 226603320 886826638 868751100 652984327 982704490 598053904 424048291 633280379 698261769 284659993 717677580 757720293 741285908 595267557 588943694 144071437 975942610 375137502 375771998 119410855 199833406 922980546 805238625 736429194 479528506 248887677 747591341 188846197 705145788 962547682 721648105 501371765 101717160 246641186 374648422 640747833 219842180 666563825 390304529 481424339 724105634 987709133 172964886 526086993 285724311 688497883 370648954 604542362 783132227 870089498 974059135 450815444 603623687 891972470 151064786 884428195 471584433 102502994 588836569 929613228 559269386 516491982 461213565 559518622 686126157 275664629 415979301 679189937 705714461 661205770 334988163 415588963 208022340 181096541 297402721 157481483 270737913 613531478 755057919 926866985 994474202 921785476 315156822 351108109 287073524 830632898 476949128 313084678 328828224 612054702 618022645 192875291 783480960 447208251 990056384 598835872 409528138 905516774 356956683 862260286 414783891 492724449 682828175 307269957 580528742 426345227 781777916 569316908 878352697 784951402 735817797 808793454 289176590 330442899 785893415 759493759 978256486 575610779 349011828 123304225 739674182 323586321 324282563 907224560 131535301 392063315 438384966 149567576 378353947 956200032 786208576 205517494 101623843 735778378 899884793 483118466 655050935 841190027 757117070 232167293 670254080 659045983 466932388 341675752 513944075 374101579 105114883 591807254 302877118 936439048 623210868 315206532 157706043 543371885 409722121 725493923 784573098 333879763 713882096 469342490 728670454 474011077 335483993 860021355 608886576 451206790 977413347 277023819 831972735 716597406 847134210 275515789 856267075 681286778 985400359 126898681 422796433 765675307 237021383 283511551 759777307 978710525 730044342 770866034 793017753 361660058 910536369 620901444 226746868 325640778 194187119 921727786 733160475 443660233 143124058 974094140 919238179 654147574 844918842 743611534 883952885 503391987 417000678 394902486 813809432 275467783 861547136 160025410 539547909 465909704 800117020 597314487 617551587 331888139 362104819 746266768 318976279 371887335 959886777 976135784 542654651 568850430 646318089 400024263 153576898 444734560 149882599 879294759 497452539 693664833 109451665 828178701 527875922 899384868 502208641 530607754 463305864 489980844 545723663 865873388 345297748 844640850 539835854 263888724 467544987 167420697 602695623 428530052 559732236 840165424 370657374 910522628 888559968 126271736 584750715 762005594 986881210 493763594 228648192 718430990 436487858 856544673 779930130 229792839 813999540 388328083 260794298 270493583 750411380 487780587 765933522 477180297 897893385 708125009 787092522 689039650 555769360 341809494 889701540 781649747 776026146 908570598 447932773 174492219 280962656 729280644 474539817 932380142 716594545 917305085 156303765 563730745 532154549 830200617 163796836 901495598 848681430 665447865 325463569 732616564 620322440 156981974 920651791 818903988 485671911 777773076 239493757 816180170 792463586 510025095 441450594 121195752 714715578 710751183 489606949 888013769 846961767 792981778 989326226 176688808 858487324 788905969 963552052 700662987 553252227 322814709 952182610 299406548 176592574 566261629 211247161 261035668 269731982 575212804 622195435 800883487 284529909 100004496 551188329 593164879 369261166 530967316 824514395 275973117 831389765 839261708 502314582 185838960 978224167 754584399 799808994 735542493 267362164 168161703 564889502 104223310 116963849 159570526 118841051 636806784 750262998 796040874 939708198 462305131 691293726 828796782 363552900 759499578 930315858 509057853 116079416 877404209 918073947 135515560 465574847 632080389 895328596 616879598 719892479 413297004 884478799 592725131 207314988 464815511 115694281 327207553 487574668 557679045 248577880 508553225 559668701 229789393 681749405 807852188 756690132 911796534 131812458 768143670 386191814 636717590 515335908 119468474 787144563 854649702 794411160 278907193 895263516 935279290 837352839 308130632 137163557 622314134 471168924 986423656 585729541 931101280 437267374 343613200 616672811 601690439 649095208 899114241 659442484 750140501 676503078 824609757 246808361 278502255 535882619 853298459 197664553 338846950 911998596 581091793 732483661 918872561 633231282 454907987 195606701 337331253 529547526 848065773 551982425 109848003 883984027 975492828 149990226 663173709 450759013 962551878 847663303 557739072 222377375 585377979 643306646 417908140 870665621 114461348 376810575 753489242 929691023 652769163 838213391 964431159 347610387 302602930 916655426 804667143 336944392 804376015 276438737 487952289 597434325 387014738 233145254 384813999 602435914 288472390 160787701 933071001 213791340 951711505 261752546 964052276 718792511 220792033 179564891 267856892 590549297 218599760 451532596 358024936 582508083 863463560 766278452 946285200 324467584 682459579 809053316 523315036 191629098 954667696 222120829 136581370 426859324 163975598 522201121 927099369 551439845 852263120 834146876 168021598 828763303 312687843 698961606 488517233 592909208 593715818 415342959 635424657 924812329 346053403 829340672 954233272 630724774 737435043 524277135 174801698 685789015 453358151 369925320 777712742 924489241 525824007 362095925 720405655 410291287 851018954 675273128 102161587 851452993 751082509 811625025 619184378 766633047 163436858 714887694 117032826 941760353 931440806 788620447 552270482 147507716 617421602 335447956 291902883 104142324 871972508 889609343 732201111 117201620 658563091 769541525 208950057 951092797 959561716 583104821 563473850 926168219 718092009 747116583 439347606 890143300 789978812 314084275 983191126 949864795 736049645 491021606 765598019 639651650 978041680 814669373 972520432 284400112 174735875 400242160 322695908 108921787 669296976 951704873 570471438 769612343 700570014 181247460 577488701 546347323 942459067 385845464 224010870 556479267 730925810 868994813 998542810 870626575 716556919 752977111 212772413 690583134 984440397 115847026 759701343 138818799 154205257 593879014 637714900 293851598 250386211 531514635 481835756 453048008 769290837 240143300 376263563 474311933 798883572 950232526 866724505 844820463 549318915 798292130 588049606 581658302 940276640 661731038 741456698 585413553 584841799 816692791 267770094 137465209 824383848 298710776 930208094 100782716 917982669 525636202 264272711 845482177 620796823 705492787 381359350 549858917 290964989 916073267 579852941 548371028 733997283 380724898 794012899 987377565 780726306 976169200 226506218 730362927 645330520 566388446 488932675 493363338 380235212 283744217 283500663 473184449 651196603 700899803 373722051 498531226 421586421 610391221 816979324 156864234 307172695 483260485 640652089 869875603 596963734 892921961 408766960 565929482 717614500 916826228 506067035 127261135 225339874 356980898 229101014 992498038 537578168 253015589 256278527 631990771 768530942 320382332 473718850 692324734 226792471 596806656 504658192 491267302 848458934 617794831 457713782 704756972 709349284 782009035 409170103 738096340 870332932 494863642 241314780 452047127 342764013 364586104 867951084 607750441 112996457 143386098 833515679 167514933 581695315 131921859 544979446 299801988 865439650 841455044 450133795 554255976 732942148 478640377 130774594 851826371 370419001 967807610 911526533 890894051 560418955 304654350 941166528 613367887 456139542 632262180 667625085 279084589 469568045 464672696 578958594 863934475 323499423 517792113 521707505 116970314 961319014 863625445 576925446 647367882 619829487 891720937 871115920 845501274 393208115 842406121 816413637 108850606 607715171 428306991 916945769 632261461 782335535 955279247 538893996 926766908 671567387 589133266 150486816 314057109 869975731 943917236 202693179 282618414 396707093 640001899 676607859 420513129 668092022 522456740 655479238 926287436 765298828 707910760 130567945 823372799 919691714 863146023 154203753 917599259 728335240 349699673 972650642 581518734 692447230 459034588 883615927 639637877 188247251 264084228 499206866 275956248 490546277 148826055 865570567 381964904 299058559 579184170 917595006 300624996 516417132 595615161 130725626 585643292 414684848 400767372 719074873 849245760 874403992 620077423 872115111 771899264 107233903 623746883 406428540 849097081 761002538 305499647 564437123 390138563 429155879 537296006 809117418 392343404 849609876 519633592 728685474 234170692 353066699 824063190 451710976 109152709 486381443 374313782 217523198 695075305 377233021 919484911 391441609 226335859 998636455 305959630 919056928 902873631 428496258 812794676 588099242 666636789 596826097 204261103 689910456 556660042 260662088 104052572 658695820 737643747 853132458 902857859 674723714 961830069 905368527 331090080 101069829 360212719 766428762 963727296 768441452 348923852 722361068 926338343 377820628 615220108 651446561 223515794 161518339 928498696 911515197 856970068 182548343 379992173 777660201 407316839 828135442 811782568 766917250 308772144 885924907 292117415 605772182 357927391 541845597 181845396 751589760 726468555 348592915 230718693 265261891 888409049 536480122 395161815 307719587 887111905 579965954 477750054 862290663 648302732 245105240 624791282 944553714 781379138 443723132 259587375 928053425 697605712 182310240 331815693 476027300 174706447 389619855 844098770 207439077 539091571 479952893 551114061 194679153 223780576 504575741 831968281 683608216 852638147 263077002 715100579 132164359 587991177 859852304 416633072 366001312 986351027 429962909 546272772 416403904 744013720 178080833 726372076 930773865 155225826 481606211 425141708 286771155 740626955 422089194 565268274 261597012 725731217 518321288 132848034 308554840 213945820 906303129 576521098 831880939 917219632 310558960 433294250 312564674 108515710 575087673 335269450 380234348 632827873 694952218 215807198 445642801 353741158 652956377 226499444 808527914 308357665 812528596 690226111 254062160 402590422 919178007 644989358 195085523 382137224 681533625 889556050 618148887 539831144 200916767 350511729 179912464 478759863 727363901 251978704 918224187 347810283 381904369 298190744 773020141 716857246 470694567 264846752 116974669 425998228 612715416 904200250 179564810 540569753 337709138 190081148 735071107 231597355 285518553 858269397 621853643 415362382 797822920 660254306 559922289 545122661 337243148 314653610 458314960 500346592 897868096 308969840 196536435 988198346 589499876 409547794 307259906 831843218 147677735 644126941 725934379 262797406 977406076 149296413 559176851 120785228 695867955 148259768 989758374 963029606 162180117 112539676 934863661 262541241 855716158 521251542 982866084 377230097 107573715 523847250 662470465 502092315 637455001 323747433 606203138 635805171 278951739 903395942 676079847 986946861 733738127 797284327 116055419 626273441 851977902 766244968 567255045 219926690 878343641 963652890 320439717 896932524 531324227 253123525 167923598 707178209 483284135 222272349 683027078 468355971 204291278 480888893 996530798 855759664 664097441 492960028 471184605 943083905 583547698 588057145 972939908 101731707 207810401 653377072 459627964 336065939 810561719 708454844 122002100 399795376 955044397 310690335 211100171 460986961 372209694 325940137 293349912 473555843 670282521 416220265 697574891 222099267 225495984 475483339 347937659 816392156 692600698 498525326 824432343 843560279 681711303 104629551 458386719 952159053 826733233 422534875 397145074 737106988 339814475 901964394 570750262 389005449 116475415 756515786 275822703 753907095 104208145 498519709 731095194 262749516 620713627 478301598 951294461 460775554 708845863 181667591 441138551 820769734 115900714 660872551 862188871 348845718 828108024 569825093 245233051 527349427 171211710 832293993 632432652 159397107 492177122 130534156 810838692 332704567 460908240 204203900 607818132 687455880 586623548 795542878 235619223 424904027 515201713 562853427 701429068 593092377 101504957 936081774 960954063 293149735 663252495 296266854 437321176 870938958 307412268 751855370 368065279 678609760 137076086 646509357 841073672 150115013 345520140 773319438 409163334 607666780 250403206 698667296 679804883 122055642 607450998 102380049 710775612 186762234 689167190 720189237 275686810 566851488 463715552 941528552 218260572 825071504 327271580 697216083 214823087 701009669 803020132 340056810 573106132 957965377 962315894 263706126 781461985 165590671 942029529 962798684 851349189 404587031 285158865 392382185 560841810 399940671 356031860 906112431 237770256 616575901 799885230 325885683 105438824 809083015 270566570 485954615 986931130 179894793 702717847 164559573 756984676 129798716 766740270 705705863 657775825 556772339 316382470 670117692 385750739 176250669 786634104 406145377 234934070 825321407 587452489 612513584 536112549 968324716 642080870 340158758 124173864 359000100 797249580 451508132 519911279 261748201 248139744 596409243 183136387 199868268 214739542 233241364 344768727 294204685 189784838 727353350 826905235 607019636 151238932 337588338 738332247 364449704 932388423 727708885 717814651 886515042 725213516 476663264 900872986 457920007 109805492 365907399 920612442 306938120 832716863 812126897 832088361 378857388 656627072 521172808 997602175 395398234 923531188 740076841 162630751 959323827 328269052 330405759 962942179 501712044 485602555 956929309 750962045 534798061 702583724 297697250 825702623 287749175 971526740 595251356 744180925 128990116 929014973 235295212 152780331 451606063 687807863 352113469 168205299 178373953 198182098 910879734 921784192 362631442 338205717 611121007 677256093 189850726 663787313 580262493 504573615 815953761 131656922 246989948 753959208 138359203 478785878 508783941 199467671 756677911 844129613 630701946 945974911 334321954 858463712 111121928 548922348 583049468 900904477 452045690 978465491 246742677 966387802 347942229 435180616 925151254 410660737 401140241 927762052 421227108 122300660 592803975 823167187 278107232 289287671 198904909 998494802 205108941 657072226 805993199 963811868 659016338 943958873 312168286 618164540 893618141 271463042 870716410 285841882 530491896 282931062 240770587 460298251 107892662 681926436 699333731 722643933 434361968 350176891 582183124 300604850 138076061 188171342 334939294 648311824 984641528 634434332 330908571 185398836 367307289 735343292 780306264 376890833 622720725 325669820 989713119 125293433 619616040 566143004 738694128 291945721 508217998 375173361 712447030 119851927 944343732 898654410 505723527 887583314 723251268 964956188 555510969 170934555 738317288 154870536 620722415 305477510 545778223 768059123 456543224 838355543 619875701 295449398 446218800 161480982 151906290 180374260 378925363 877258688 741327311 372413184 101415073 228131713 300867065 232009090 823061537 819688959 766281394 175803132 142424264 392960099 409529055 682578797 729277506 762753326 135661804 889788897 154539175 589227952 394481336 463311903 367114210 471868920 572485278 290951273 933068921 653774961 125038124 691787890 698378298 627088496 461555749 984356178 799130166 437751985 419830413 795027541 936940957 989126170 597362231 962997840 886018053 796200397 537323628 169032853 501465718 516259604 824552913 134921960 979928272 864448826 508042741 327318908 250951435 608649328 889354276 402082272 736605342 190357572 791373144 938372837 797945561 290726502 358426619 213308528 779121442 796855466 284238459 451699691 927197921 214946022 909662967 606584341 299364444 193643886 610211998 908083871 751463092 984061046 458500937 368172518 941796022 467478506 310936322 862342755 608061601 133207144 278566125 251050210 974260726 804673283 770730416 980130191 703669723 884821181 764237882 886128298 219247275 176594197 446712957 971514335 151237209 870288358 334721457 395588725 319083612 949697475 124330549 579593973 770670518 381042903 765899661 765353739 830930872 568177708 178927579 929849370 153565363 998824537 291156377 714360229 182839939 224893290 391441961 764949529 754242352 137171006 141377096 940161696 583083415 196120892 576731760 673987373 565573106 784881404 581386783 590453143 722811176 719152408 427394625 956743953 849870559 825947396 883792928 562594599 462142018 528420867 808178722 943066814 563648883 969881142 571648956 827225492 321465458 783901764 708253061 949527343 877593361 122934448 796473668 991619164 326369227 485820965 927468452 357387549 152111738 603026705 437997376 111634861 539566732 436802502 263875450 229718945 219076038 594373440 356592089 210178963 784648016 885122335 708189790 743118466 495723129 683082569 244045823 991683061 217735977 120294259 735689247 491820992 651808380 251490980 607468553 857329575 412990134 518876694 411369883 464467552 283744410 974687208 195613228 917189234 477750585 177367894 531642037 699000839 863991498 688972878 309378050 584651351 619504832 994355869 288280067 602373506 865774238 327392728 596766473 930605449 105551376 141068732 207044001 819162870 121253544 785552103 120290710 457242207 353244124 324476944 927837198 538254654 396750049 556111529 595937283 515806065 276322332 487752623 984875591 118081719 796506930 563456520 498192988 181715125 685541485 648883562 853283717 543219450 954527755 859519059 566359398 601198607 623599273 586192437 693750687 933157458 197826596 511344835 350037023 834556926 989932710 244616928 633044431 582022866 590137600 792857484 284017663 808714729 236627741 199296324 498121803 125914885 552508298 193893437 524806624 948917996 730929657 566089801 465970716 429069025 926307854 523003458 582906151 973073953 441912008 248653581 114769392 557315257 624753732 137242499 801609731 266434842 760311083 133312877 148591761 451138269 710768915 105246169 787191045 284867892 639828277 942555996 249800657 270977356 579470250 455044936 442816629 894850883 775420015 859766932 608239771 685410896 753807882 627652828 718054961 338293039 585167341 899071332 963746093 220893793 868878352 454985864 806951046 150002600 836058973 126221724 287132801 217238151 730292117 740363509 764653532 873737772 156318953 134044753 518832658 370131615 831512116 895593503 119710126 318702074 800824436 600884820 339332259 350105974 912512271 705859817 143244724 327745024 403059920 681032816 997442928 874057099 401556886 812324661 546506303 183171565 856891280 404976221 971542162 458973265 999242515 880022862 734452923 478106505 695255467 826215125 320853408 988075345 175220099 517131797 992188120 467504989 248684175 691377372 551543550 128564047 774068273 662141885 692809316 309224574 627727865 972833451 145421555 700809904 250236986 764999033 695698277 563883490 597316490 344672938 388361301 613743875 639800329 648198414 520404564 807834636 108213111 503536981 790844780 149706233 796769549 857178822 679002972 773102721 657249033 717501700 559458923 354554390 615456597 359730355 818748262 659618013 111550304 909556878 274512449 448429525 905719449 940041868 577035467 521705691 682771504 199540768 704311074 907600612 920947652 580206027 471296391 181629510 318134183 669289194 614388836 761834237 653390920 845283570 599053022 184958489 421162044 466640826 915752616 266993130 663139121 338710675 587956948 874948003 284125069 771602850 205809146 284591366 758987678 229224474 229094936 105387282 769199987 670631827 240694138 643035204 217000793 651093183 455853676 576360783 762145493 416069753 790096116 203791524 548394438 633713249 816417168 494677091 349395203 194281082 463193933 187476006 887480807 709600394 357100691 392636872 442493657 355991190 299717274 830730445 247251384 210894690 761285630 943170698 391761126 397248894 894114484 289722735 599866217 637032607 522277795 265260326 862768301 762188274 398466194 254249510 539996711 587682828 217738922 143302402 696217805 333404414 955129606 616470333 370536429 174942743 764839676 120102744 431703075 369473497 234167027 892002502 526032443 274444535 941858968 857512323 286571019 174237168 454694321 522711519 913873563 968149526 845915752 236215761 361396640 767121100 323228574 850008535 933721706 366819241 578217552 346565057 779219894 327339889 582675753 205366155 955150674 270179848 453998252 102766132 359844951 682083950 472186385 451486927 382257819 901437749 268596022 220289249 490286897 245789393 951230922 452700789 250555783 730249016 239951755 807085020 749273013 499347239 394213981 188000746 968818336 813013249 764505083 464196485 241302586 713643059 894751349 798034655 140662935 476760277 969171977 470498708 935978025 385748283 127393148 913766095 959848489 830788018 371090516 980761300 147853450 693267595 122118276 248306726 754127308 592407664 151547092 466875221 759779831 126567872 396351642 208517097 783120208 809474616 181769158 618242513 100100333 758848824 882730325 320731947 924973853 176907822 863826228 391258007 315812399 939249079 509059633 515706310 492970633 714274072 811704303 988957510 711261332 393707182 636066622 273750544 798542366 659100058 408586402 928663883 996760085 219220139 813643646 743330326 847135275 240665909 915748649 968136345 433555389 310153691 500824433 607356803 238655040 182276063 584706472 548558178 703954179 227660465 750374901 683655375 701777711 622051642 421177969 951556218 289655494 564622505 698701959 163829279 745777419 722227758 505680065 537827024 331492091 298057286 988561370 349321098 597883606 549356831 899121619 237974519 685248255 946469327 727428549 233922588 414933690 153039304 809958856 535815246 478633167 194116642 588810471 551633929 108562673 621053903 639920049 749834572 380568136 528746218 802755594 360778159 475494763 857437098 869184580 571080483 582861778 303913403 576910984 437573228 118730305 897006903 740463664 785731452 834425133 170061707 884023619 764771547 484643695 785836569 809856833 899315133 283155844 120579970 162562275 215357036 119227632 981606503 136141811 812226133 967699101 744462944 530357177 573040196 320539097 574945600 576155722 927232214 993857198 855797875 388578943 927956372 782939303 573524573 890543819 151491952 520256645 433921029 363948035 374226809 481888104 437169011 218293981 289121276 640118761 917346976 323113484 728338467 428168103 732665313 489785830 854778902 782793966 425980495 819148107 618264329 164404024 741849049 921647117 390268399 959412867 694670845 807517926 520483769 941992299 316939340 478316448 944518413 270877380 412444301 706310984 823451817 430027899 798523980 214844023 835791715 684747208 464281007 365425515 738912798 738102984 284632645 934721246 394323997 644511842 692369845 202181204 404583539 685214649 965898667 541969869 654508995 396669022 104307864 917044801 539380634 675000987 591762045 126441179 811586726 893895558 396707637 476338081 946801309 966372216 393783162 788843251 170264726 750392246 556126927 540428799 389371558 731631196 546988365 346879320 228191770 762565980 767578084 954252683 399225425 786621169 958141923 951345990 431508317 170537765 660933782 549197098 703338826 540173024 836951893 591858613 138425361 277891343 788733008 983476041 349260477 387079722 464062662 791980529 798297719 181012314 753082950 587214645 272811383 727493179 227145116 848941551 376374183 147498379 860490365 881779515 719406847 212211961 834076027 419047929 265970886 166617336 566431006 436818534 840492050 401338896 872993093 387966977 168028980 439910322 597586253 223333371 771839395 419897739 505831705 581522647 546242649 270450664 633426235 811400109 150499641 289357349 742221002 819332285 597295607 492311884 619199592 806361207 309530015 253621317 339535243 441729849 935995303 840441914 400727912 932746660 544675476 584899491 270342119 453492731 441677568 671529971 511888986 539599521 733580306 801260723 141003991 334122559 963026142 259846275 751871954 590155462 677601118 159196237 346611162 369365610 724216256 688103219 477319301 696542858 798328078 624608800 958401632 288370057 315531644 619865901 418575579 937738419 800915248 374532698 533297033 986633999 273812397 102276973 659485085 989669220 720635710 914903486 791487924 342825137 348171755 101770055 544526818 457602621 251665107 397848592 335174940 808146153 429750684 749886405 528456244 829998915 195088972 537768162 181508539 797039590 132362821 135662789 826750350 503456606 379294737 445255624 436669095 317062521 577508156 114671715 685434193 487910689 432482631 351107041 393469269 731800624 499800711 280798451 786422420 719082313 313914790 673450542 624687355 437092280 225140901 522886602 760080170 626920247 829325206 610005523 143821360 296582460 251895374 465418305 990070254 402657945 241416297 750443460 891001156 493570155 459174963 306819881 298436824 927098675 162137840 236825794 322360530 794338294 248512595 386988832 458961608 402902926 489947102 861287136 909453692 769093632 807299059 531248882 431127757 536535718 126041150 118291722 570078849 244848468 716911343 715282080 148554461 515457399 593556950 148858143 295163116 426977635 347538677 288528664 472511502 457360504 128377067 873976829 666749886 571525219 119381148 774858040 931412818 193159125 794153457 553556895 888781592 128892753 727058580 916529176 377577500 633368946 706343704 322239472 421689891 286051303 536042380 805325025 991718937 708478601 792027068 362197198 689925512 530862678 528577157 424116933 975567224 143663807 504420579 436239493 606853618 149628861 708374829 796524042 454722544 827600808 756047722 742545840 273371623 266384195 537042584 293713939 277987375 707590023 585495453 676041234 843101052 352946668 145930647 721444152 781494823 489719357 586986886 884746083 705926533 989704352 377255079 969995672 194342784 108331060 461420365 113956792 109798448 769698322 513806946 951722128 403474235 931277438 261916755 475337020 213615094 169439250 765673953 700979086 966480122 440315709 406897558 921953182 222688406 481927861 198599854 821676510 740419672 298870560 490575365 430035888 188950707 613983067 243236181 563221412 524995765 368324403 809866157 718622706 690974992 563351871 756570706 202816584 500345912 826750617 505585693 854083517 473410685 656248487 991409853 886354792 529302878 148317385 693601354 752632235 996862572 660947171 134884140 838879978 938977468 486718490 718448517 414506414 243589452 184164979 228361352 939672077 133719705 770449290 558242804 698036213 545796235 682536464 649096499 111198659 277850496 363908264 519177341 284859537 296068907 744332011 358637494 840008616 799959829 889068601 590876752 286068564 978386595 455502598 543781557 578461691 710954240 250730679 456705707 305366431 241897104 650092785 735131062 653622385 912032074 995311702 290867806 978295774 342449798 600812545 990074000 327860929 449612335 612324546 369620731 800818771 472270307 627057640 179449880 231686288 631711360 550065793 333548201 286735746 774476046 472383614 453835081 739709768 485246755 472195688 741034620 678267480 741860493 202134516 399615303 224636049 694375256 297105612 687390090 372019279 841213317 111714753 690770098 624036321 731496455 746882746 493716991 159515839 641647770 706120154 859158089 198803520 697013178 150422527 101383027 722770119 507706519 398100980 729993257 550374706 790426472 401132484 834528714 332213371 280884783 138277745 557788668 238867084 836289874 488641926 379294147 378874307 836430724 951746954 951898363 846094627 205851529 146370454 495374135 747790550 750329912 719688606 640329541 783160556 697622114 723156651 918624493 931689074 556999072 595206446 395259517 765447978 168695586 249139416 825760457 152294125 679990655 388082638 980718484 929324224 216091925 256698634 500420790 281731806 958074479 147590124 191139524 338394298 971355489 281380640 931448912 584194110 557905491 843863593 598929761 814727504 684515476 899730182 918619830 371711986 811899957 241448800 414034088 852940858 191718971 191402568 417866756 328048783 124480207 436759972 435140941 301609542 835177785 597825731 543121886 732923948 344267501 811179333 422665967 702485438 177788465 745103939 706703400 593228238 179042946 414589303 834381255 311129082 662237914 635828978 124425021 478238812 335176792 930023209 572576427 510515658 408329274 380878128 947201927 310440413 739417780 651779220 796140718 766788157 667750241 789880889 143982642 449195250 384686463 754714523 821892025 587387659 310757963 539328357 965405802 892224364 270351408 335346052 141744279 271944261 338290787 271742657 405645613 927514625 874181602 102070544 256588186 424100169 119925642 244819133 584766723 716600691 270744760 522870415 577081957 177740644 341718894 274752772 854348238 739424664 956374863 152087911 620545488 506530555 960220867 553979272 625068810 650933500 730536011 863384480 618775212 425863066 852991977 719883442 403232805 529162899 734238639 928796736 630949413 143054663 755442707 408718495 469233204 975160095 935147963 121206169 146217535 584818601 720623302 962847486 955516122 836806506 126336260 293752190 547734256 845130535 439235013 645431394 281247166 748137132 871335050 287571230 367577339 524160494 623106306 678247688 939029030 492227737 416373520 552834958 262945294 475217853 860644867 359463509 274247873 769075461 860463873 730064358 640696191 460929091 714380223 900264866 796311875 975419725 613713456 577994770 574241866 788299777 972362129 445895614 231560010 758301992 859139521 417754499 681178984 706881088 527890877 546928424 867728445 488613958 968990833 948610132 114822293 722538460 813007555 754906986 347314972 803369200 370848051 831551364 432395812 813475216 344906077 576460899 147440119 893692495 972699781 463150950 224124127 699429373 947692134 133943750 804925750 542416341 542914093 248237826 793555166 522302123 807780516 902517762 169323531 219855564 638800029 600653582 575600410 280427650 734695160 342929941 675897066 651787008 286845645 586488783 178362084 121784165 500678677 571597967 937059522 736583910 264334801 481287203 738032418 368401683 283114395 470682948 859595139 915616965 786576957 414571698 277473699 880675079 313580126 605657094 308475978 486414263 369788263 716572814 456661175 314378503 799655064 228273886 885964605 862620051 858232856 360295271 920014005 288206403 222517945 132808444 192413260 941572766 183230092 284655394 615832293 503170243 532698257 233804286 474779511 465467197 418154697 444683739 440636957 810918634 247789488 918877146 122279972 190502615 358353273 626699568 162718513 616401756 774513632 699390741 215130070 712296736 600940429 285397439 937789518 534456316 534885466 639020753 734316643 838561068 685173623 435315587 264756599 925267354 160275188 496019697 128580444 297174887 707905406 724533171 763861698 885266955 547167842 778847150 524578061 980945251 239555770 728879866 509538425 989333004 671790345 886035427 369311854 862357721 799249978 534406932 858515083 480629455 590954643 441921945 422994545 527698749 953390971 418639500 730002445 148564052 616726128 306028965 189213734 300717614 222955167 770574390 759991020 578717210 190686459 528586797 990692587 210258746 143355392 259028879 379362832 542803875 944296861 644928899 367573503 257238990 775668244 753537627 556969709 288838424 129899516 844401982 638673467 731193660 649833352 731031950 210786697 261258962 632591403 313453587 766528332 357278880 765087435 547362543 662850168 251038502 222426951 961797346 976013947 408606028 575104148 972352492 974307109 289615512 491055914 603832006 741803788 636678718 853587979 510070784 245778714 419721595 880877526 737586672 598325784 201027764 979437979 495712498 354089975 521637759 716314634 333503085 321881250 973799389 802494163 601235329 151655752 925147659 540506078 132565054 631754009 698613722 670202980 568957195 796221239 859086058 307885893 964307495 812577928 971483828 194588274 211499846 776628357 108652933 169919180 763358101 226545788 818439192 451930408 682634000 182678924 154057072 657644304 473111426 847197729 836708468 150204542 722109883 656649085 142053260 911111193 994310187 342562136 346441213 724949727 828153250 422119544 188042021 327068813 694918398 958990806 621680117 480500043 973575318 430508996 267993987 487856140 485612958 250261745 972922078 928609085 447149605 126080022 299714349 675101682 656444730 175949207 190666663 851060153 622531022 148625829 509761419 461255201 301326381 124802793 571215885 256300456 776327104 268594312 679909046 332257031 491450180 462697920 546289559 684832245 727383292 361192243 127625857 307725191 801907493 268786205 483840302 728339000 539040157 211471533 140971275 983427199 669589135 495962555 413253720 388340795 959134395 390312607 427197821 938555280 672543798 823084180 988314949 508280119 393703331 304852169 519664256 843884490 758042859 169684038 607223693 357115558 852887604 399047724 887600334 640630061 142257066 498927214 966984234 778642711 468722428 327508587 467948001 993653652 622589513 744950511 479716112 913236585 358989961 610726469 874577739 996676931 653533058 724836518 269576666 995021732 195036974 130646441 196971826 868576166 327877711 609068545 481815435 943552626 618582295 980946628 688518714 622123414 673470210 367923969 285277648 140622280 191462372 860204742 784671950 463176261 889830862 888718700 289982964 937692352 868606369 560104305 166044424 874417814 436077074 625818707 594369406 197560511 511561347 619160382 504036357 676772081 458304453 873425531 499186927 252810286 729405659 200198575 119614797 945659642 958313251 926360931 316537034 170941435 288708918 583123165 136934897 989590607 285972591 211313962 752064521 516136460 259317864 312180376 314049851 103283484 864743132 275341758 936867764 387468457 908111893 285699842 737781884 451033691 861144478 277224081 224962770 689811718 772151648 437657726 559663689 859768509 817681338 779508416 681193666 373113606 517804496 849066884 909856267 190232702 200570967 182439717 895826671 359281768 317376077 277928840 746692090 937724040 428159835 244430476 886952800 694932124 144117430 474291480 786536764 345016959 566895541 154524678 990604314 251375523 580482892 533691837 618392387 825568422 157189132 469591564 221043543 990828033 458816101 736078652 965079391 910388830 275215962 304488615 771936432 643395675 523347657 557164796 367512232 590251079 940829905 471872612 224291397 236693689 527953824 324097245 945309964 682554717 580547949 546135838 532002790 912335813 851625757 965408478 442509030 270125595 515346775 160212534 539689909 222861151 672033050 374809053 407312828 259719932 183420642 976127752 147407003 643406193 129485609 104991578 872006044 555439087 274264525 171539154 385356600 347697204 155903029 465351769 392859426 938761435 358609178 657353623 641322116 966924558 437372631 400870933 462971922 230770550 690599470 819068363 578538673 303582766 255589691 157286561 547139061 933390872 302375903 272282088 329734228 260822928 125508716 498849329 241923611 786129792 156648793 184569257 578594363 590001888 955139305 939934083 824344666 928601268 608734540 795517420 869914182 571077196 225897423 652640778 612564093 361638382 902223889 507755271 196499021 988020581 317335057 234815621 965178132 394515437 740135098 892970940 326010123 758045710 517874223 111197558 705595477 905089934 825309452 196828000 753345251 615827195 970459804 857869072 609843697 205468633 443068155 547952352 718943418 840798798 180806742 322277763 786403714 325557823 498439485 809431502 890070661 117672512 944521839 614403097 886164309 824001956 103062289 570832622 403114026 710623389 141776858 623482116 308171810 428411361 508150862 830626764 596459749 598220960 258423601 613969547 828906992 703636161 595349430 638031873 327131895 917355022 282244833 296521742 992469434 225450283 890938794 124103224 690897075 737292001 606598524 970928757 584995416 910785526 916082811 587763839 110771442 476863491 554693923 573582143 272774265 258240524 840444891 843530047 560132560 170420818 389152984 876534800 148479002 914703575 259128474 771820852 675002129 934616308 578011029 791443155 423279276 198175138 660997892 490428939 509536407 759974089 446231771 682353493 230164355 530667318 971902047 131291517 709548091 854774323 816985492 174083524 955188134 161987261 159086812 873202072 725943985 728981127 445155780 140424197 411708855 562242754 637025052 586727787 540048235 635024807 815702333 410264646 513072696 957895546 987870926 426748655 853871789 546710920 679066685 446573114 969228707 909105078 202408798 540682209 589701764 737302727 276576653 667835033 172063432 268884436 256615004 336241040 515218407 595266071 460733292 911072425 101499977 202683925 817725767 153956573 225792876 393124098 967841600 209122286 744369048 529082333 104124593 760675517 334199943 405226882 875786836 118904754 464554514 292642033 972462220 225707283 892941106 803402087 237491439 176445462 666498204 140333872 792843175 775303927 847306730 344942682 301398029 153356100 503807845 199134989 893467372 170973192 802209700 767203973 305207006 418555153 495810451 382568916 605004904 584020553 975406248 950883166 150983397 541383768 262862038 170986835 874601986 249982143 875845619 462378943 989901499 869834835 397457831 524203467 135361319 896722503 527436344 673304100 937407537 671679376 299806473 927749326 604038562 187219670 590588966 468196586 895871476 206888879 569299985 372385340 946034173 603340859 611162190 721059927 446040894 660845540 475160856 557027982 329347838 541145899 377367714 552748215 609305177 594950100 470855603 885637687 968036595 565677027 855769543 620555605 382471562 273212437 657104227 824380719 134958171 378351286 591993209 686085638 357675075 333124040 892478123 959746926 370230433 597618866 374068244 638339042 550580266 906271274 283902254 967028071 884216233 377753389 421411321 225361594 381094585 115048030 463097937 852015501 338924676 362463209 347827432 251410281 813029155 531676431 424664822 656448434 781580367 331616804 967439560 394480382 231652004 650276594 819494817 792250324 426184665 317181384 363485219 809438741 591103566 422416817 197301892 594779793 967146110 481979048 738590663 739885081 300560406 270984855 611831207 821728681 131917648 950878332 110974398 668031442 344562481 868057770 632509166 469242749 790289032 818992617 648879598 507669950 473284765 950855884 662955956 446790437 267838465 908106139 916649367 560855131 274945542 832786565 980175847 700385703 669170236 623186446 834306141 464228058 363333070 532565424 689509282 488183177 701458594 439493495 614066047 863639018 545015489 369403450 317658337 671685591 530013356 481737249 212447603 781267711 365466588 889986506 737334806 696313377 141916137 181670790 217591132 348211653 409940305 484530251 785754747 442528521 626557326 780408469 155071258 144654729 219267455 367520573 523987203 822588147 540359337 889674668 603092273 909462718 890250648 457513725 860266943 869915631 624459867 641132149 342943473 260025913 623651166 553394833 157967693 293920266 593461304 225939537 477212603 723398908 713870194 630345134 712885926 641261637 627543861 125713963 385681689 640891049 837271630 107228190 157716832 805367724 784246718 386094615 830114634 311102937 969680398 509316808 378167289 846015360 244207742 102063956 484572456 490823651 765100097 182055411 818968178 258548479 150613967 782999363 801495704 909321890 808520001 259100388 201792872 509176348 375448439 660798142 994208805 502471421 771634650 286220550 893952968 808501153 742195152 351688030 432477906 191177436 303318948 284850981 798680590 845476075 417984285 756731737 465471172 184853393 220966683 183570500 149960210 654768967 267753769 818284117 293611835 847734703 861699773 442061434 240124564 310262718 947731536 823933381 964048305 961483620 884215951 555577447 695484420 342481579 748046676 166688675 655190221 556573397 300916789 435994495 112827409 763335357 762743716 244836233 334973239 354669434 748182729 667707609 970730125 622758295 684664618 748209910 690409297 851856112 193365308 625907684 964950192 718618043 593612582 244789099 273039643 477616170 261925960 544942051 811435535 377814788 230202109 480076327 843653354 762066331 566292047 544540528 704499521 316095032 720178247 242216400 707440401 797231486 776045064 536068816 741025730 667335671 736727176 598608049 226539443 989882112 225705524 821596225 204386843 844733772 580309787 800606579 615421807 655340576 601308839 864646060 810123162 683015642 814892202 464668611 116818840 404736524 256769772 577845476 526802028 670121170 768145938 326797602 840992382 248428939 698697744 177671409 399661277 148776371 958651632 613808994 755020254 291858206 943142847 766734429 995518095 133362580 568248191 119489195 904591755 428017821 888416452 192916536 151978276 256621125 740536945 218430467 544847578 856942814 970458946 719493524 102508876 362786069 816094382 111042626 771721493 258813560 945779052 477644967 880988956 595909249 392015163 711943937 647417182 705650749 104913424 324581099 116781992 728963895 448337142 700899390 545459345 367769683 480736084 631127289 281315557 653120519 929994741 544424753 925342417 599897627 990244234 414530118 249628995 495190397 113833527 352091193 911350759 880221359 324127712 882965156 455206416 159323516 901338322 130083447 657046071 930983621 329405345 721183487 722090836 329379647 104358405 270478543 794189593 943595975 578102062 460360562 139965571 310384629 554145728 945187641 714466205 497728151 824144606 425262647 530332159 455682866 860056646 412129025 987683792 564390632 244615419 679707369 166062168 343870853 817677179 532243826 973033904 291710248 290438156 203667870 108520183 630323244 241003953 910681421 567365945 743688958 370874407 506751268 610197162 576699022 536714898 556836463 318344564 203133319 565927737 952909763 939662155 718341312 539452672 742538095 908137027 680228987 527421533 748787165 928246407 571111881 170623559 925055728 819199572 192259313 761366849 715781514 916302741 593804049 737678559 316699116 568404934 411042062 312474471 194163665 305841113 102138573 267079434 935757371 605156164 678740206 325053808 265483996 253736407 402170217 445975896 516347632 977304242 201540237 756783664 862519022 789057398 322332580 430694634 548394194 576294355 503901835 990404818 584478138 886479381 752704080 165369094 757738644 154833768 633567203 538847241 527765063 512557515 736607007 964004432 130319827 734518975 917886569 223344597 607374817 618808552 786259319 185832413 401969546 350073975 718909310 453698433 661690161 568808492 535116663 355705046 923521726 752587794 458803512 151661910 299290026 869002222 220289884 970992788 562415894 984907882 795250513 718865290 697855310 464587537 435483838 142706972 450088457 798296899 452780479 162057598 144330225 258757493 167024900 306131915 991342971 647991487 419265095 759765245 473874158 229904896 942809179 197478644 366226833 599174106 802165920 993779322 196258473 129986509 566072886 420255779 873799965 237970124 345313099 275415094 443659066 634621645 486380277 716198484 363149967 650712256 630714724 170982539 609094492 370008413 684636373 394044002 636439866 258496280 548918159 769176486 773782625 305982721 492843735 400548555 229208165 861153457 338606786 164601536 203556831 864120162 191993660 659969192 241041382 858313796 270700171 905909511 184696523 862879311 489550564 633255631 956362657 765076258 539280777 860345319 423881235 991792017 746508513 146160528 256175661 248629040 220664819 606326029 260114589 790390349 637358924 854612183 854272170 460364432 828492505 764018213 895950938 999537971 366496082 826305469 430225118 362821394 510608236 265390615 609389812 171037707 496714136 822025196 725372432 900333026 952359524 469877092 404923771 765010854 225809974 453656855 498804642 513393681 337666260 229182570 241897445 658293918 902678352 224253256 719023701 384548799 867269177 836538511 459449927 323849375 256420797 572711197 717900171 744493922 441694666 557572160 201373586 568802904 563925743 360568905 290294167 329495163 103007292 190172553 372981404 761411176 385781260 898818591 976748643 943820506 851328582 289422324 566489147 863744218 133430120 995538400 721260783 693390783 483696481 422553584 628667686 373465645 191347682 347895148 790342641 510635287 478332493 892806303 562980991 307373993 428381088 659626910 405032838 677094588 165878092 301621547 791539353 763782642 560767421 197940325 549195335 259404405 542542563 834222972 461351014 442377563 986841016 126318905 108566233 475861554 993665776 872621135 958884058 105747753 966872458 720986579 885555666 322158950 508595956 767858084 573751346 316282596 426784215 742402311 850555850 262366834 835114933 760510953 988206185 254042786 129760040 343972474 941379903 555211457 202449066 439708283 637989448 831744881 400440131 425778073 504964959 132198037 718914203 105661972 865307654 768651619 456521715 135185448 515318353 825913896 800651073 946281188 906128891 656408101 210934920 338215778 843388444 270450944 266537814 657737734 905733670 362414747 240069300 502923072 153549422 232038931 990793446 103026048 236483254 326340515 755807403 300049673 192843509 959586912 567208892 990770128 687027865 915792677 612374505 907308292 884776691 400127054 320988034 666209972 173932481 174292978 616073829 284798590 724679046 702884670 456261283 472336885 734205875 681877832 738226605 522755557 675184410 737663454 372499639 226945514 998403380 888215301 925697514 351546721 559388806 657405604 570088830 599927808 924698283 910217014 238993887 477508791 354826209 852326037 734953341 834253959 129824867 600901286 836934369 225777414 926055322 655039631 878575953 469353088 507425446 364263644 334367205 148818336 278515667 620684659 790773303 839476543 176837508 690038597 996701025 576531045 570343641 800463193 146748385 581651451 756816650 541466787 859124334 207343747 889898294 962027039 856004176 394508097 299787317 841611843 243383073 142437357 899677421 354173420 616993478 904144635 631272559 825744299 375772185 580414630 920302726 951570461 592031096 177264488 150774026 616372165 435396052 816770004 255980843 386127087 484795360 263783861 255752919 400635008 574526001 370581049 838993779 508504427 416770524 731786440 966693333 469495129 189045494 786884599 236521468 527248233 416400487 991161895 954478764 245683066 700359935 685406309 684574721 577326425 610271788 184729120 177389141 479190984 123353010 695843188 905438503 865301407 348325827 573959170 844263441 663681903 578867869 370947589 568021735 373943211 646227606 754151139 480345967 556017023 684683987 971546927 554170288 341637995 161775614 337344431 204296829 836067900 412982659 962265342 430152099 521207651 493108615 609803111 545212613 793267351 821384928 980083464 943731782 907406306 832316084 436636023 318929412 314583214 615485532 718287994 556280594 728192441 583020512 959392632 808477598 774830010 772697720 461625802 692211534 719067099 447819239 353161983 829456033 410892062 994349706 189180362 590748143 833458504 571491149 517442851 430998689 596275507 338678080 771545520 963694792 996853628 295134796 754780778 755895091 245324077 726750483 690127021 399703746 173758734 131680079 509394585 576257269 410345235 735801489 609586504 364350572 680247175 434785170 364256730 211771517 773817126 974946382 708517143 646927988 128730626 496529303 532285334 123898147 991224974 493910962 573153890 706922040 187135084 837749095 560403752 992420555 887910189 373046133 912788942 278723802 562379955 313554176 611263314 279683816 620813152 741257414 909205257 778245918 679672891 977399822 459337255 987344729 672804877 136646393 760100797 509909462 195635791 535581309 143950284 677645917 470494822 745603151 348720737 624704003 488435053 650930581 146220100 364440180 596985355 753043910 560189747 779692805 322542921 280761048 525918103 242569018 387229299 465100762 545983224 938021259 142570996 890409917 337498661 459796797 105256126 969154848 211419529 328401665 335366466 637794068 264490395 815705354 396627317 837409915 997809890 467132634 379079398 909210150 176650640 348956805 582568899 358357129 238509340 989489426 815592523 676082962 562739373 638793582 834152431 899141847 523275575 811772961 957810431 446102850 112678886 592375780 220691504 122019832 111763904 296089449 491828393 501097948 780190396 962975630 261563714 809443308 984355813 569272537 498530381 762652141 944718323 496118606 941520403 821358324 750059554 955720946 502031203 357334366 946273309 353973604 764714728 342241073 463481462 201508154 208239265 528963252 429580012 806019867 911141551 890545447 896917652 764230942 745970356 490451905 951656640 849733447 856646257 127266098 749511125 942544664 752278246 580831471 758190286 657340857 878687157 690690183 875201827 255341182 333682759 562315675 523323123 358492535 845285749 144917481 208560649 963733841 654731957 621226570 299146556 773088634 854914902 513923476 343646336 860410005 873934303 780400963 982238824 261193070 829575779 397896171 509243595 682984549 386606655 694208642 945321522 758093367 965056983 936543015 654866160 362639697 925750766 719984664 221866468 442801536 919625571 252153443 217393333 187603663 747875351 447819618 886945554 553786560 727944940 358015079 673661931 359669524 736701813 950912318 289879549 923218566 216707560 971259221 809446176 205309990 509408126 247346566 346478526 258496690 879862239 812170630 506971515 735236039 559873517 839847564 179103251 735019589 432707344 711194849 658132725 291823376 473655630 597968849 166120655 821615063 602989837 418165771 209214550 554793518 525801116 726003171 646066025 306894228 997730751 304663519 766550185 809293594 332752359 294264962 320986030 505629322 499754622 554861330 568611047 358107972 267073597 939054308 954629781 778873211 949454255 212454443 235034881 697316007 984925744 996130164 848411570 962665691 345432184 155866997 717767587 666222197 257636860 123456727 734859691 399964418 345063190 585962832 389684572 791698764 383985665 727596700 601520841 472790517 823433364 738214098 984177608 329935111 376079767 872023860 204229850 668395534 160808923 221273001 528483349 412582012 317622341 949110135 452555681 583973186 841949058 567445236 268415171 576279383 174252165 755843391 569815725 244676730 678081943 600309373 842245665 314653107 131676634 686285807 594445966 329660130 889913214 457185731 773538240 558279967 278101919 739364854 479053822 633930594 706300514 826233058 903966360 949380628 551326391 686450162 638438843 379481073 923099206 983493753 785420167 185584510 512422781 898089397 682006366 211178050 550124769 577000371 926826614 270289188 773453382 177432917 293870720 882287669 948895909 188154260 656591213 248686097 618590614 177588650 988241236 335368178 222753497 306974765 549823273 900302795 806829172 374973752 404213356 677930159 979926849 549627968 350751731 510848521 345129700 922623906 967585564 890789578 426404292 577564413 933590380 354500042 909621281 644834672 683087924 272345314 351496932 376621111 634959245 200208554 471251729 817254004 489137532 814121710 180051518 376651191 197013428 305605325 560195960 449831503 101420981 621644051 714090091 897200869 263858579 855657761 157686883 492460584 470053358 421353992 655462464 336749578 918641943 251738205 625141772 354774476 266908107 721423454 138469623 334127497 104202925 610435883 924423885 957133089 714238812 204493081 524786023 473804653 777819149 774598307 628365244 644972227 996056241 113215103 821890787 764392094 236042489 595826772 804239932 355733623 817306220 237449658 296308743 289391554 421002474 527045319 357867986 272349134 886293475 457725439 524696667 840705307 976601340 153921593 296978777 641383943 758753538 420574729 850522848 750565289 653024982 136654908 890523309 875340745 504645984 955131336 378528849 234726250 869259331 769209962 115714087 753051719 294562245 252344775 497284956 142800579 521576948 468588647 615824578 439472375 173101139 672806216 606818810 923940855 107261055 917474475 747484468 858153807 109825477 317215319 368992077 310647489 662833477 797378854 605900555 715819371 209946259 282566801 847744545 819380229 219049132 542026624 373788715 450815866 960177599 320654683 518897006 673782705 668292373 604028496 544617621 122108301 562062060 682392977 881852240 719163251 817722472 399923452 572729399 816724125 748467307 834659294 864430786 494793959 571797583 622986457 901397027 558190102 155557648 208390621 169104667 777194692 743113428 614596455 987025026 464874022 899920771 320223953 442149741 542490967 380431838 485416746 895867249 982892815 399781008 649374731 238893452 465983960 413106456 754718810 105994538 687954954 448138405 280092296 594242906 486297702 217557722 324015319 223504616 117617326 409294194 673809998 539726772 828657556 753830507 768259982 229961007 671330375 603630410 146603960 943706610 130157213 281460479 736486757 312093370 790006740 935758942 391541354 321927945 439015149 981382877 121894147 117955078 600457731 135591057 259460777 693741124 802581851 427756631 609814890 951545036 624911035 625224810 254220639 419140641 881773906 282657118 313376590 776976625 905385875 959823324 611235664 266617883 325025213 817354586 953098914 649028201 757976990 155830284 377031930 677343771 504075520 824789636 886968285 587411353 855848702 893754737 963700726 841128892 989453689 789733004 887048517 868897128 320943265 301660089 577275842 488781354 991039079 141606071 274605271 452279889 365213428 460270359 944790038 633086953 816268001 115416831 276896636 114758705 718943043 532097902 171986068 822975494 967559595 108325225 900087287 814910983 670243502 213243114 322966306 101400923 745357899 965158135 192052314 655377767 489621869 958641246 864414765 782086350 291749986 665893088 687373001 507963375 768535908 788745976 486111150 366351366 972233258 590162291 229401499 569907450 973972418 112179071 129856470 782420980 422129236 213299449 654330971 952491887 136805817 542910404 268520771 832412606 373268574 183690546 960244038 625895238 469782768 211473941 484986198 348671801 219542245 298344382 850581544 191366603 889774090 754697309 481626966 635269395 727327096 822713384 628408082 508660726 840643506 703643186 352578986 426920961 103870157 358661579 700548457 184730488 127706527 900270984 969489286 700862434 630554907 168503781 877509714 300698451 570687918 591610246 673339533 480500043 651635575 368851865 666092032 627439039 653155666 989404135 828549149 659102095 350543416 857723547 847968863 848534587 559792900 115208827 854649576 612430340 522857886 658857555 135003853 469653215 584213589 633323706 252110485 534481525 565425668 495815128 977530574 297533385 434693532 311641571 904281915 894330045 271315902 991124331 625180823 820228366 375998962 512122382 446465289 298219973 106834758 310313408 965434222 310577248 759022080 205880450 395300668 668792980 675324669 782288459 859578249 386933427 704656123 701501510 156270741 560524571 491931007 246025850 903207674 684892809 783770030 672661896 488835826 532649233 844858608 754208933 332477058 815838877 909915473 932479363 976247914 677535990 804308260 560339428 454011263 606380608 341968931 676921435 816212025 352260539 756849118 151906561 758901090 993075317 822170691 799889084 969826410 221904666 767871162 829500856 717185591 400062513 125984740 136948437 598920261 187211363 666229207 342127719 809517505 846935948 262338722 736820173 346641429 381419206 218743524 501869940 399158677 271086905 416136578 349707125 161620831 304498444 802763141 332667494 291950981 497152062 503080197 761505863 641423103 591623787 393858736 991588818 200506859 326054671 396540245 463664394 262758898 638373282 647203356 409475259 183383085 355792150 113765818 380465450 806543363 866712962 973362526 456481558 221790708 352678434 566340540 625500775 964879748 203902162 144734608 776317600 592117041 336946289 975792977 279944313 820576888 428066219 640074596 485697074 450692562 130987460 980180940 706353757 116249358 740227852 819428179 166929283 839100917 723721030 626089543 659309053 880700166 921593849 926539116 128970483 485332831 402344853 801089009 105945944 744606011 276931110 834973095 501535210 245558306 171687713 448209466 931434358 151088957 707281679 311581083 323256726 319555372 252329329 468953510 250922249 299950761 223509204 766804799 254193285 555576061 244799714 464423723 444814657 626802594 273906573 415092785 704725061 426712942 596723663 254324902 415235800 400479180 362621700 228325485 766159732 253658448 833057486 670747190 299859339 102263961 548431891 623925102 498371811 425275201 623558174 129835825 829432823 264332876 798578306 443374019 543260315 804490503 260407451 351278084 886535922 553198033 958563821 849031735 180622945 895990974 492212833 645801199 417950479 514772353 208795687 904957191 944677892 363435771 133373361 836648448 740983485 106515998 907291941 424260023 897073836 579697933 369574087 911067255 508108901 624124335 127683056 163535831 281985044 769557391 536456406 730923486 619195027 922105987 485968852 210655319 152365671 939578535 166239044 799822473 788798972 257965413 964868103 735770239 843092187 718208999 608906314 913606497 607118461 409515219 152849662 689834115 852194639 754290971 229151553 417088457 840665325 609681876 889583560 415628619 996521849 925316600 226547058 118982954 235034022 927794964 453606675 453880936 639517384 369061198 550613759 198686167 624697537 833991235 347033634 630696926 767067940 371429250 809414770 344898961 953613360 208619542 997659969 624675145 218916487 910196486 514297513 872986018 945797280 591868546 771970481 321126682 113940304 366803797 750024719 928015148 978073425 724235270 470652170 606899279 630998348 142040457 612713730 588604191 897135264 448242286 851277448 874226430 662791016 850165762 513543160 354226452 544116656 234043237 610498926 892204703 782349707 176530570 833806623 191367666 990779551 449346794 691522169 244012468 337598368 930985362 419457084 903110334 485441594 675734680 319960398 125757957 120593366 306895541 865574890 645964126 144748400 662532854 710352882 820616853 237819655 571592886 311045253 608862501 673366875 988014876 826138361 166179524 664481594 982814175 429833457 954560069 568606052 872876939 278535797 553005949 582101485 853968670 757849350 131272654 232409310 435367201 224138959 352027146 619494514 382522301 243313915 161917433 906757637 811952833 647125999 725214855 768991414 250667124 325493609 848175824 529815197 645350513 298710490 950485894 198803271 600042449 594037379 577653891 743882948 458222709 906700499 649587784 465774745 961415040 591995869 677742348 378402454 626630721 676139496 812924763 761962709 228984798 287538470 864826183 549668324 502092466 122313590 605819146 249264270 445330480 105842097 128506152 712180856 254628157 657225805 108425597 684930667 158743782 938657472 679056785 600597652 859673727 509925606 386037392 913424890 845154623 135192544 421744104 192631983 764138298 157657976 956473605 126411335 386643131 101435383 407605769 179751200 648682000 605580877 726050712 130126292 138575057 913457497 660648848 103341721 478296399 816298344 274346267 310526597 561055454 352991130 181521927 887662545 865098402 714391983 758155089 368217065 557429494 681791038 358306563 565603890 546067453 969753640 161719375 139488424 749083208 472235570 316859716 227480094 357440106 987224825 224519202 865305393 126662599 972594616 838430048 801261593 734559433 661133593 956561240 247009140 514607036 974020111 999001691 137114470 602548025 671680951 548535765 621501735 400705313 759266024 201059909 457634525 471021314 461287264 315396669 408428251 251468593 934641398 170184410 680592368 779260553 720278157 467548015 301227891 614430478 983040331 635480720 712984178 430075294 714062452 236214823 723801659 805060599 631720632 557402755 322101548 994452589 341601592 495230546 685632323 655286640 594474503 864328787 559584575 751057635 982425459 343380910 990630791 372563470 573510174 289118379 534777567 532600486 821301523 427187873 116521287 904991134 260451232 331910451 201861073 612732030 520255367 481792104 318182735 329644719 384011571 576434496 251498519 867678202 503986292 261386566 885010353 960166247 428870076 482552553 813456328 989291843 453789496 671906803 587231544 207537469 858941993 409036633 568623549 474590959 608181036 391302553 402756808 932644713 459135137 614534811 945867895 554745078 289918477 155394604 587373170 610405250 563167636 534555416 958062380 604170100 637687887 184127204 557519952 475143164 355768565 340050260 124280463 530632192 620685840 702457916 639845386 868885562 284264237 607777798 967140737 626179724 898642253 937752311 753929863 902600818 170126211 917921044 208515894 375165124 763428019 693501030 890483526 843186848 289533653 664340264 134135120 101885529 243543685 353531035 509994631 105486467 362250355 789714668 393156420 920355047 290157363 602355667 984977790 953374453 113562534 224762479 139347601 956760498 382173603 365336678 177470905 840568660 621834800 192418322 245216991 751691837 719400578 205455697 766344399 652347977 593877274 685705682 725657793 316097575 831958146 124282251 302175979 398556052 216403705 288536168 616696081 850156726 880530569 635933912 491856070 380569125 507598984 907473037 645724559 720583732 514233893 670355577 867802036 501456834 120008239 709148759 484610204 731115458 182090018 578766089 923733184 795273782 118660148 418276822 948845482 999371484 107085119 291518273 863021839 260679196 772895060 839182156 260774703 911346674 354537163 142307998 302468717 893905123 544977012 820855927 318454479 720806151 514165005 168212928 343713964 802662791 732933158 148617379 525686988 140027468 762031669 972808479 985777248 577456160 136183654 928608047 248146685 683579055 201705756 699026844 303758183 386345271 326363808 558893176 390619753 530008167 234834877 647144756 865566481 285220034 946158249 455019715 454373852 571137121 434962092 297518991 649087011 262619455 980520816 858407909 862133860 187474953 727761394 320672165 322919546 378716863 624247639 575877143 931946057 439656398 917219442 445738790 793476738 290629318 299239442 705892108 127839688 545803916 999522394 746666814 771641573 103236172 658195850 228501637 306596438 602527543 774006212 331279157 189442338 747702933 726919799 408043687 278255169 693900744 790651096 508215868 725517195 368736465 634695285 782313351 700255472 198400095 526324595 720990020 514449370 534833957 337775671 112225633 510404269 376606793 628205821 681815945 498950389 548622038 226800279 173833927 496392708 906165294 508708622 151426779 160204184 106849483 988629132 198634552 189239579 857366266 943677020 825036491 468250522 542140315 810159256 950274713 422302456 517535854 213458498 720730292 618697945 381421478 882391772 272666263 689208779 335987712 773929470 886202700 833743984 428595098 988006695 244640532 152108724 157263082 656090606 749220316 918928947 340971743 736727492 943727033 594443486 750294573 879206021 444728073 880820285 241814737 615376747 420232997 610341360 755219445 466963787 999884202 104265278 692912810 412553885 521645621 567474611 135929328 944543343 891291729 861657233 811272693 513175828 655559658 826904017 471949470 179334583 715700006 776337596 925132601 500402505 454513914 978498891 811305638 765370513 424697737 236694537 681549883 900854025 820048156 563115887 904630912 673408177 583078344 195845466 318218433 348515181 358211166 419445173 806592108 987354359 342154312 909649533 740739378 463054728 470312718 617090735 887341734 266768535 647843959 227834211 158656308 326917442 862148662 182449466 509385446 465756098 437577462 929287450 708514525 873716916 698892771 862178793 668578571 934188259 754232109 543463864 744618946 150077053 295517736 392556659 278071464 686417688 239506658 504443193 807698514 618405744 371795693 530647501 519163122 185712341 241779349 184872116 316296054 287418707 246769466 703655870 138852634 372061524 541570005 323099528 429828563 822216746 612204360 807567185 782448416 823794546 929678206 187283056 722500912 972209176 637635881 190079270 306022270 277833127 408167209 860207408 719971461 877083460 688607893 654782586 909241784 762188445 600839862 244079055 618126504 867924511 598972271 491369118 113696407 182976269 245986568 976016541 604408342 833876052 693593305 733526820 362120047 350606579 455917509 137255072 804517499 101794177 220557384 887659882 530907468 272926210 888695791 314864963 744055989 116483942 873629334 456644866 492467203 612735989 763656446 696491651 562581389 432592492 441047591 552117504 158336193 145802838 511062745 429608338 563780209 756049213 805292430 778690139 440811644 664758822 789296827 292184082 583897920 398875806 251396948 501591368 489727014 622868087 654698100 934875186 923297528 140222533 451506061 423345767 422955738 234536302 794461610 743975803 993868879 895581138 101650305 286267872 736839120 321438786 596020374 632154017 456253777 404728976 355808198 186674997 532542914 594121632 195343132 138406377 785559183 465600706 385075570 634448455 915877565 927484754 868410181 982562624 755125432 486326368 181680511 222336498 882471287 571352937 983162628 604254168 243272713 478181628 487435625 991134345 868815779 841446543 427484672 906531712 550259671 822828894 616244399 429721142 322061664 156473625 110588684 164169762 391595595 589045974 141013709 774755857 386559269 110668577 227472922 650270525 780131053 968053732 352795231 955425054 847301383 702930907 882242259 149735584 808157520 891947230 341428201 333217450 907961217 843942244 123961939 872041195 990965888 257967872 230642438 124835960 285290568 990001048 581063875 868406387 537073815 535297045 247240727 671240991 993641764 803674580 503040725 604526829 671747092 684841093 452335337 361415959 165279051 137203345 575809974 136979854 761072843 634884253 299964232 218738914 279184600 358583623 371567595 565375282 489620485 912965388 164779473 306278142 820341135 901147994 357073109 140609406 799467683 313231810 621509693 393443002 315408779 201127365 173835557 863590660 906297913 316625529 557900884 980918939 674188553 716412885 443567582 969587658 131512978 746762876 861098555 438339558 127303357 318121022 104312563 143137314 302676465 701970672 642121143 946287246 553588574 690908794 125075553 718453003 671944745 986451148 542848556 283456956 723101993 378443294 776976067 470235178 310039537 999490739 424701969 188458671 285820797 147301793 774528093 508260725 712266489 171559043 498907398 868636070 700392434 895236893 290722459 259696889 863396976 887761154 241943204 122983542 573440291 161491346 798630871 918821858 457107560 539341228 971833560 892482390 568212651 325328895 577709488 956573635 348237730 372694227 852393793 751524514 992312820 573107459 233259533 487948481 258651841 206530022 719928703 347564047 347979799 234255075 894719370 658117400 157050556 200265013 442872516 510829276 197252146 800823308 636661734 760928446 710810211 614616485 562474139 453524064 718772784 397705767 437716560 433519741 961693684 822914525 116763071 163029664 920733174 849118962 242581833 849241616 937506280 251137563 561541017 532120284 612981219 328314035 693639848 771695408 171544109 920356553 886605435 503960359 565561506 161297368 576285256 223708611 926937252 222021270 820846649 184989746 405282091 296575427 880913801 112121206 246582405 813902046 367961907 558098361 538318342 664650246 147909283 509021786 497328279 551063316 832103137 357405139 577567824 289857907 586035093 118718335 993574698 610445015 570672815 243877439 675254453 651588339 406884189 904616711 652226529 227402471 167378405 112991814 443004093 266064317 974201516 177949421 809906685 930277411 235451272 369410396 586855239 751968924 980165988 576308170 889348356 893628931 502398932 143588836 842657784 369650790 613895930 753981523 159988759 178865360 686545976 804372669 776176513 870131482 635512284 965753215 669845574 337772152 871044102 409070933 939111254 543195464 173484642 822947300 650538040 582745005 251049014 807556797 428628179 219437929 994515885 638831020 253972203 277423906 511274258 531369680 473057640 143890447 939907335 160514063 289611755 385231481 909746673 836319738 413162724 900392917 815599063 855430043 173880690 504752057 943048667 349727474 873516896 694715258 424579030 948812657 675135245 137618891 837949494 357471737 439337151 339587250 722486547 849408201 677529358 758501670 933021306 332278515 229281916 230944410 144060971 395237426 367558148 787073822 780492928 284698258 838949055 805943014 587541029 130337177 252985408 266575442 716390110 663384883 623872971 196335130 277833469 103529359 453572839 901456646 267520651 226214276 512159101 733031568 214906188 330371380 572857903 214525825 905524033 868820245 200251352 297868278 519461175 515194022 564241122 865672833 259405764 786564901 676782190 661027820 908608997 979386188 271382177 229444522 513929950 392675612 200658706 257115235 456462033 370001983 253887429 134284585 359968453 547187503 951491933 779327843 324672609 573838139 731846149 211169129 976685954 445734855 994401954 584452721 598130157 495287763 200377449 287445318 502673438 186875206 849155317 363118258 497746290 510198996 283155966 944035027 240399161 811934473 260910396 335935935 354166628 403789517 567061048 332330246 670925943 440263879 490911357 878107098 669094803 205527091 523393650 365910337 533778126 807138418 257733989 765550469 208309557 183982645 482198401 253461532 158468729 189159503 148205135 974650042 889159710 483465706 638868396 614771707 124856163 807337212 231343269 685286081 536742071 672515993 557891309 107121713 175495035 534655319 509423410 323877318 523453550 695821644 467286289 755421080 145183634 410538624 564848982 554266248 307299217 331934457 505613219 287098134 472758322 898509111 729568076 746464017 101931881 873820937 781200397 251895582 279742001 154858424 949146190 571941489 953272232 322597898 421495547 834892498 723813595 849196803 285475989 465154384 812059381 717349852 134158136 496084856 440898391 261467280 672299727 687069630 347721077 796437052 215103672 767354094 658555704 256705238 827722299 194847091 514092457 950321754 689971282 712936551 852677516 204617115 258038618 927786773 776140059 988109145 876121524 972112389 788665707 630287147 787222105 464992566 594879102 368967599 936742856 663028720 255101343 606900437 753818596 150668607 409909056 726339070 880723130 660694962 943993059 791063624 989002509 532660319 683105926 172625023 502595550 342714369 256802172 738354376 642830042 811958054 353311112 523005751 436651049 635914304 164441773 916348262 264138059 552328234 879450827 919620741 539928410 351237669 918998878 641972821 738120533 595040507 332495099 957151032 969811056 992252756 107448279 346808912 738516225 542926505 364034648 947404866 661380149 523773610 162904964 239030221 574700966 965494943 952550571 587859133 362842546 130039964 748121017 560595733 576445299 908499625 556357687 711892674 933402162 461635561 497636096 744485368 231410921 442829757 846799910 981590164 150680151 213070746 449677336 837121858 604949916 869669188 337813886 959032735 874691837 259023997 711910593 194798204 370199646 104128387 626149866 380977716 752616109 101305753 712995973 349001145 170427916 177879985 101903172 364357621 781241017 792046360 168746154 454078418 965980229 454329903 373293095 295939795 637642775 773958368 166924758 272382347 273212866 354647268 168196604 461672732 437189548 726382350 519032013 807384020 133768564 571031307 877652213 352581959 644175959 451176502 118748178 172286681 722980053 923375364 732889956 957652400 104272534 367089523 821954892 714149649 848701139 951630100 138884930 204620587 165228073 101975694 636574751 426894122 106111958 489035387 116033448 190557076 637810660 449867596 856032933 341803389 497812889 731507792 132338182 227063110 863552233 171651620 737123769 878390175 183595802 542916185 495399660 130317090 511435604 784949943 319877022 621934082 740268345 657607858 277316142 605331701 910323046 893415612 284502727 920078909 933427062 367634366 478841219 176966773 897855992 359580203 681369625 217641693 765576345 883481215 801673038 257868793 510799592 451079943 461560274 178585605 773173346 619473445 711784458 761313995 589829284 505010811 633275958 856426950 883115953 870851522 108843025 399857290 101269233 339412821 414119442 165725327 912744420 421146981 854207388 130037064 508446102 576415415 607283238 190592123 825974074 863074582 780857217 652039955 578545314 387160507 389147231 510362969 962436372 556201220 225255528 998065418 683845031 745022706 803362556 507229813 524848592 856980945 200293501 805097453 268720142 169701998 871766308 759041457 793717891 194448882 153468790 907546789 224038138 207343702 374931219 472030204 970201897 832590117 489689507 229402923 968733549 928812081 751908340 653264788 319208562 297359670 151181133 203294762 265810939 898206475 512632795 620226572 604694581 168138118 823042010 325990733 533781370 767435135 793612165 205324016 478929771 730394010 830613410 217128429 569236986 830051947 439332265 397732014 589470195 516734760 608899304 730007382 330578021 171698137 654947592 508864957 459670624 119643078 512335889 513709459 417778998 919908012 937450511 319118680 955281683 273089617 104579539 571128888 591818794 992359975 222201410 959338871 897014896 455019584 455625351 841314205 699361356 513836318 807267927 654482270 980345195 766539278 141866854 200105989 811432179 445839650 480666531 837462329 823176002 455480533 836318943 444579543 907650929 844773203 955316587 844865897 956040012 746072080 747329911 361357248 537828514 684369385 507230667 574569937 405407146 320363620 194162597 817412723 292184232 851538695 102822970 235551150 253373995 325053776 760294698 844160498 445517869 292211790 741981074 754360235 675835844 181609444 623000350 289131142 903916208 338101680 733129541 331478222 712945590 217851215 163919133 797717416 567621361 366199549 389522977 305746708 755354361 981084395 435158713 912155928 987165575 808357600 527418662 710740025 181442039 949802586 626392470 193345560 392352389 887487044 751237742 988314931 161274239 593529052 914398027 580485701 857536851 523813418 100328826 424976418 155360905 873430148 954105995 929337068 967614471 444224828 203007024 636382941 203150865 624458031 602320875 297368769 571334329 354134014 373402020 321016883 371966615 414911290 258329784 764965244 266187728 540036510 494010222 575814265 218208244 121238327 881905558 380539159 740369081 307983918 176314021 689729599 615706407 684180142 933538807 165563965 498539989 152243344 574138858 609599068 330961073 949375649 536365132 428446298 233269849 431566927 944920505 813261046 286161151 602539638 152770435 733611865 950476628 142214242 624004861 955580804 992421350 851361544 861289587 525699987 513529374 253307745 605604650 264645558 111651825 697761721 393587024 874877735 370864752 299567071 311537506 984377234 632539075 344013008 376246128 379689608 168809981 822625036 516877700 867095694 820944731 355407715 759287623 909233430 896190353 145401993 399250578 989638072 214808069 692487033 205791732 382019296 431213908 424289072 922067723 257541588 933475406 618304290 801004804 835805646 915778546 977200775 506509765 653940617 991313388 660521188 777868510 419751075 436512376 402767234 906960820 176927806 709976907 391491043 562941271 323041204 302635189 354556072 369593971 629097317 461019470 687199908 450972832 371524276 978518957 666388520 442613332 130328496 852244498 598328105 746970967 481855003 443891643 505582703 456058041 814828394 352210979 505516161 823234705 526767404 481215215 648064883 285372370 746583592 456720037 740246067 340463771 526434219 359207855 134650894 123780373 479415064 775251031 497202253 454618089 759545411 744238362 793853060 185302091 394207151 959125892 644813673 158719338 675036939 786376214 951178343 475049946 657356999 705223621 828764535 333674732 499105885 466236346 810002016 201114383 224053196 728163191 879813767 438630316 492077022 850926651 684269292 622315394 335157905 864014068 633198486 529106869 124066097 147792785 132431335 192887579 351836316 603413259 422014860 399731526 758109701 271139672 818412425 531569752 715667322 913317938 162420821 996092956 781289095 322923270 612083307 404163178 639563775 723462848 327501884 121482292 436086370 199460638 985483701 134408497 248014567 302824617 148124743 592863167 917060598 493098902 966869834 321453758 184320505 405471387 188550273 562815807 732309433 410463020 582186529 269602297 337328902 996827488 194642485 335487331 839539625 224316508 860312130 708883919 463209559 761907866 766097384 370031011 431075761 708617688 187539318 776316147 552221518 273412504 483711763 279463221 339702086 676094050 606136727 914733401 162078500 571079981 182740555 963310981 952332306 752360055 129035110 103673873 339522899 576909828 440647481 711726147 757857929 834672158 157651158 272867221 330958656 724018950 848720577 311251622 126063930 162312840 182248245 707197990 296520348 377022326 242757707 471709660 994361421 614544950 608032686 731904113 465480778 178111278 911650879 438677862 912928154 505822352 995402047 599273618 408914595 549424287 430978536 480100487 719702825 677743146 223363299 748698895 665851597 277120261 124034514 756945445 727322279 371957715 786569567 648809065 552583896 483589300 336139933 105257512 610591172 474976956 295567546 571130776 184128081 128381013 624461452 575928519 317893344 351467916 803037724 609756919 577617806 290782388 368288291 622127378 498310406 654104687 621090512 742216834 858364356 257149456 110354471 549034573 979923061 231889013 140888847 990318336 267453857 955931388 829852222 144950877 981676861 754433877 392462255 145033638 117707414 718878502 444049884 733626793 864763049 197808142 237986145 184308028 366782366 336132090 209368309 886420312 802319850 781140639 946751301 848833226 368479642 186818895 891863655 894117725 853646950 177926406 205493786 183563592 185961976 960143370 972235106 512509414 371116902 873658166 926705605 779793444 554690884 852530207 665597295 533262852 177749427 557393732 314975706 810602422 506849345 549153532 736682949 402770244 520349061 741767772 163653102 405556174 585192851 448185991 938089117 354508120 666694266 618363728 991427645 499022794 553145341 946772787 448800327 953902658 660164474 291424681 302110865 418160748 227547916 708604102 142903724 385560188 671100511 640688307 127789450 130556628 763662724 807554172 229130393 901682730 614292546 151963356 281050587 791257228 339474492 898436742 274881861 873549641 615506498 473221758 769784831 948610199 398307259 379066658 997018068 771342983 470131814 548120022 787500630 344550319 238263007 844233547 861282326 551205017 413437192 881438343 967535736 318668443 369516261 547728414 869631210 782815135 322809658 708286868 458612908 705059098 131102717 984718587 564357328 212675317 603061354 986588474 892848316 815658438 690137329 403256279 850349751 380943905 778910123 864529266 971263959 200394065 238362076 650826589 544077664 207487015 226789962 926240306 396979474 414766248 288900096 220405908 931813232 488294181 580611739 179844886 860644180 285630958 674299179 272743882 308449425 558970335 732639601 408134354 442543822 713392500 973477084 134164583 463826922 997794651 329378286 896306449 639273246 108509198 464944528 288163768 126762465 793858531 601711880 846015021 623169025 284174609 406055105 808146776 299943725 469251803 490928388 988386741 193402000 696887067 612118452 257316280 754840287 818416049 830361165 705802041 289937547 474201240 330298498 731349376 986800408 704132763 278397220 350237117 493386682 759357976 416779967 996239287 827778066 195674292 483872207 989520121 294176458 314032078 288818146 708531132 432828416 821536040 717630212 683968720 859766835 484888706 759329377 338229434 919065752 699015675 657880255 717152810 920428171 241062134 525332492 837415469 451666215 301844736 387465450 301002669 947594597 974197636 817881484 175478907 914843935 223876521 809749109 487414024 891129047 965669566 595957849 325288219 403425594 199165291 651559317 851415822 454298007 981018617 727695625 233547892 149035753 513377485 946189437 556197805 308791590 348648733 486452037 666501522 755577043 225206770 232554842 673416500 121707775 552558366 942072725 369487939 509924018 996356956 526550885 998080649 449010009 274059494 668883056 656546064 293390287 686470733 485176246 446827358 991913815 119724331 875092309 849647369 880412541 480768786 935479147 738378408 979629329 405892554 804557388 121735108 634796285 498767513 892765342 478592946 761941113 374551852 948221657 869329618 365252277 450215893 615887032 507763748 656000905 949041355 128940623 495998599 635066047 395626716 328491328 857541769 977434583 935834179 372572743 350304330 818606872 802257371 711596794 451819110 922270671 844516598 391073840 549593662 204147026 924575870 457128841 631384965 617126120 812294547 433900825 138535605 756654224 430534612 448569036 808965559 795238936 265808513 640030682 132423295 897066773 547755536 951935973 963456369 801212510 585055134 938414360 542283279 304249088 357283896 963382087 445355413 442358213 222454310 162389436 864670446 150393810 184255055 149318603 217951881 873289639 574855577 524124184 702214189 907621357 814978027 140855369 427745533 789902608 901434787 156303579 278389505 300279232 959566688 810834908 586101022 586642537 375037879 978819367 197507946 331561963 434235192 971454069 472766420 469439100 821706615 111248290 171937885 229429114 666464645 783577664 397372713 102701954 153805912 666471576 722083092 333408674 138621785 279782262 704774014 891089140 633525301 411141247 510010342 497685937 857412403 355326705 977122283 631535460 206731727 872736646 924276685 391799582 634803866 833349342 624572595 244128930 624219643 805560183 879070436 833289023 558936641 330238301 183109484 973641365 250690455 703901714 476714815 269038751 827894119 233665434 216872018 383741524 195671354 163274750 237214736 592645861 779473929 830398711 798379041 709508688 481865529 725759178 616221219 856319170 888260925 379473498 390819792 765238437 910091166 335733411 380347608 130355877 189932581 344109218 300429236 672754223 160183859 886975641 166316809 434633155 615686917 906524047 235556401 138094410 166484745 203995126 345777506 518367913 926947380 607140962 203016279 287675724 139619288 671568589 868843853 593277033 928650984 550944117 883260493 803724948 761366388 653818118 607337142 931647726 640383009 244267410 541977565 141884413 608076927 994718603 467885327 803750253 821417680 526450749 326071118 938486524 686647695 640500754 543154109 728273590 322891862 916530180 949686608 495086150 223017671 233996636 583531238 275137705 192065409 889929754 356628981 889731339 281577772 427074399 853508597 469326412 215568264 833582488 686696207 112876494 942120160 410788824 241465497 538170972 177408572 198555739 586627275 285959356 445192664 193769000 390095890 364579317 746737813 880234792 912717209 993219364 804011684 367251527 620146270 965101571 490329339 856274714 595943020 780417392 156147814 321207460 991965756 739779711 765843477 416913479 705518378 693629190 516130261 614869361 447321703 187159093 825571025 699849408 350089420 807664986 710170501 179625402 455347693 926626902 482997644 571563320 853692019 800133767 751396704 190438175 700216131 878117077 167941097 113631055 787379878 759342356 774583888 626493988 436491736 664276773 972214923 326768931 861258589 790455435 487867249 470104852 831717414 862957575 445364186 281033590 868958863 661465618 318061604 395724172 851192752 638263312 946157558 473810634 214519691 479988271 498910340 897516207 760349912 978199501 890131111 490552016 352496401 168717940 887050875 686760568 506199787 666176150 478709822 966317859 830132347 675207592 374047770 960236642 968423388 782311365 809392118 460281148 746153157 163471386 741951227 848360647 951297325 752225823 530114422 717522692 111147473 576530665 359270579 585307609 696514050 125824928 670331303 874034408 755536566 777768906 145970606 744438347 462894756 509072726 103188303 743258520 749417526 502954187 407888481 890935103 241465643 140062367 376859527 402895530 401338473 280296295 404624286 480539187 806850981 579538316 523029602 577247727 452618431 292104812 445399867 659525098 920903265 232232846 702425319 986535897 888427524 112608366 710965360 249438040 489718953 711235555 297154937 427478610 528082924 465110064 744141679 606454521 277671310 169223697 652300312 996062588 995196483 500033651 241358551 762730944 461756211 315229814 353257657 880084645 344025016 986259463 413134981 197282492 925997437 719263214 437441948 373282131 781540471 818839441 501725279 992559785 404076296 191918847 424473086 309361345 684733615 380048219 551518244 659943439 248821202 377344834 494480814 528959029 620094547 748849832 343565111 731456067 854396824 238637599 267347186 328423470 516080609 467575377 972735102 101593432 463941055 749975409 780127488 725404123 553862001 893708754 287504333 967072921 379294369 301247333 628487339 879200499 663299648 713279189 559985790 290940942 268140984 579144145 887571472 620209005 323626363 841856319 402653285 373384743 209143908 689524895 986483839 156964101 659471888 731809579 930488610 527028779 501260916 650501831 707901689 303300062 314038958 267735842 233375647 528491945 818013129 907237818 539831048 786986398 207834380 175373783 553541005 374730437 541677766 611917472 524437635 226986254 850434974 586506691 749364614 905805092 602169039 332706124 430611263 308915201 362916401 252519922 285050977 658275810 167223594 155038731 688386686 297002509 601210605 745030726 610961358 803074689 497907441 528439051 866057284 835816014 478929410 756891199 521015985 389421125 505501823 765792979 673604232 916761499 737835346 257529141 748413751 888265433 355228427 445055743 470567643 861614128 863815624 356439152 836100799 896260182 484592154 378852632 290575706 125102907 169053985 820124836 799044168 518505083 604742059 584898604 497068686 402143519 568425174 833712144 192288224 432351009 151470767 313134794 774890196 849240188 811517278 573535907 147161634 878981705 104131152 532838266 167753664 841507605 220438419 825367451 983055361 632775482 712502017 278341851 245378194 763298492 785528706 231108523 949729055 676713489 526941344 613326929 135458979 892337407 602728607 803868313 574715054 361555926 276874362 253169749 622296985 874797966 816047541 598743344 644267113 285638330 944950748 831060702 474317942 599749336 124967455 755999475 903458360 210715415 460540161 195426057 180848994 933700285 119200487 408659091 383573223 990417890 884337771 369217045 727932095 763379930 978380812 762607201 224223190 466429295 302411465 776969385 415451692 996315022 514502429 999001634 600753474 559402289 603596489 904601399 843354973 457825823 658206853 206806510 625329378 559921588 918102254 198580029 962952044 819008113 456838583 375298400 806523796 245053084 905365332 557555617 947971624 213450632 608014068 219916463 818972988 137907494 354785618 371465619 910298468 408322104 859580967 578017587 250124291 426319375 335528048 721950038 248118331 555235917 801525535 512497075 516442740 387584511 749444073 190791688 643986320 825031036 304111234 200179851 135316076 549306938 813545520 675653202 806303379 465495466 458297185 464697591 207562638 147293666 883578921 593672448 584159852 342534196 227363358 853587239 361004233 700732871 422069724 197800704 699906353 564471490 871361987 671986461 238026046 281993772 961443590 875410004 475808305 688349761 526390400 104204419 119471381 469885178 928641718 653471857 448313572 655055801 700476330 441579710 490856476 761710049 381354771 115035337 777465847 166662802 341228456 216604518 172069049 275592411 443758980 823398867 154931721 318216753 181566745 899710319 670892021 268813146 965280156 319534877 560159299 441492094 237857270 242348864 403825621 852577629 797059151 800008194 239697234 794809778 265419356 745738399 362025125 322195536 621488303 613882402 476667893 157490844 264802151 588365564 627145146 116844891 497240410 476937342 391119759 769595878 610104265 686806642 398607056 691945417 417830480 392323826 205003552 151617330 109733060 507579209 162593404 761329481 914233182 893221837 809996498 316380704 554621198 685714427 344559322 680491413 580646810 610057783 209847835 933434014 553039246 547003456 272156106 141399719 381711554 771755917 417256205 898892074 924919262 901276536 345966669 477971544 349321422 447786466 787199195 206648266 231466466 756195136 588262716 680279761 794187864 705838753 775855659 172762397 642121960 653894755 403316368 167422894 672313706 589946760 405194598 526789943 431276270 151841763 331686487 495595869 367867453 230305794 244780229 321467271 810349475 791051890 631618400 213884134 425959862 645615381 684399059 736102950 646505684 835427105 708183214 886581660 932634796 406969147 528373938 988713094 357217429 902051719 831281649 287045500 828935220 698846608 819563907 610917449 685372464 519430134 633092732 120347206 305580374 881950073 253539189 914584606 509292698 817860580 513848161 837515880 731088560 366177716 520722121 776270131 673152133 155277692 194040635 213659232 618794197 266155938 564048279 841049108 170552799 669184673 580019690 409840751 752543333 874954060 536113574 455009890 839659533 592089151 452044994 520746676 858341630 600873499 348034628 900191988 145689895 840512708 393979119 761393128 129018586 334100557 793971015 367456856 162464168 607954651 964073201 474803704 244613868 210424505 740028498 633476051 108132503 741234814 452294110 404092345 242645748 371106694 461464413 204777478 992027606 947694978 601337029 490501068 673434156 334904931 335996968 357749527 872173836 392580285 448262478 115492267 417091995 190900518 552325455 614480615 329525616 265701507 828977535 673725401 322349208 962457065 685278646 818768179 672714955 506368561 721627531 929431255 151432638 265984537 958215078 583340740 456995427 922857789 791975033 178780690 345744858 577552986 450128775 452002707 966939771 410251613 453308551 421492433 458492272 483789049 217630103 650167874 103240293 334733362 806191342 962652785 768269226 235625891 555006433 358052593 834238230 618998857 475697511 359725882 608634762 856758257 806048295 314929005 866670424 695165181 299102184 302310524 620511119 999106685 585968893 673727868 548443304 336000236 857512983 295575001 896700369 886350912 429236716 591262399 917688277 825149423 880071731 311796987 396974375 834184213 723273148 462393187 988345132 589194441 475055059 167287966 423227145 972945801 956377389 629326691 346769667 751727040 969584425 582749875 397466882 739627673 859313564 572089201 445582998 320450056 412346251 979660110 466272956 701621901 661810416 499546115 659165904 847508152 132101737 559663619 373282301 922687006 909505023 534222205 563907843 157492798 259290762 101194599 205155848 113351387 911205663 248242480 557913663 287719640 715099385 153301929 571572633 567968921 575102536 890423582 487484605 209743599 730959960 761305128 221194019 496385541 969521229 582315569 849056015 840477288 636746503 555829234 640671566 236696191 541633133 438017380 914880600 403337205 132917681 671144730 187998208 492019760 147227271 572379285 326280883 874104786 494109738 395367175 924718380 541439339 899112589 760192622 808285899 225751770 264044482 759951571 880954144 310486070 651621916 975257640 743195892 399606090 874183987 608121792 953385958 321933122 214003571 456482209 496802361 411026818 437411593 921474699 683640376 825951151 565216588 755082989 851950784 668240174 178586023 168836599 561869822 434554171 618779069 720466826 229133673 358824226 713867112 828970929 612360538 528632298 906256036 309553774 517025695 754199383 658735083 386238514 488255567 615513759 696260619 884807249 710600588 138895624 106448741 167342691 977019497 165984843 814855302 862148518 879093767 236232101 513947796 398246468 292257017 142890920 362938313 819288029 460590899 986780903 917916930 174108684 209365381 461892013 657675466 363356891 780880253 475510074 787649019 790259745 165156290 885550051 356754193 986124159 132175518 772542087 533739090 988148870 850156098 414682963 825193516 934676936 541544021 954206648 778376072 877181754 947667913 139004135 947102171 886235159 755640024 774274490 173734602 223333039 617138374 297364159 846479983 341338714 899263387 495498886 756336701 502737159 556830053 785597550 415991164 466739223 989953010 908379987 834023023 316047757 688962549 256110963 838339702 772565160 213961710 117941933 308251742 185076055 508304643 635947608 334709271 252338121 786100853 904125564 150098485 234487277 824615519 583503396 987479926 704411821 298729318 121638972 131970258 128491265 275317905 469819480 705343819 540926586 337108164 447855976 613282276 316925279 268870504 922147151 143053144 806979581 969848912 322007619 906692039 219433590 276786260 201724934 212246405 163830446 964611886 599991875 227401429 675930144 161129939 724459907 795613635 597747335 981398045 954473092 322973122 884306271 461998820 664533330 980167451 383276412 520532653 772935852 827358955 306452368 121727092 695897068 977035090 999769626 697033956 953473314 284912804 113454850 917623260 150729767 724510525 315958738 902020421 106129210 711491916 473346816 761419438 807190159 176661388 414622866 833562980 551265414 189472543 400744096 760027722 741489235 467617684 965946903 756234320 376753623 393253861 555122482 354373133 625298246 936083875 638073069 634730805 956775673 128502430 912073065 134351655 157370659 275719387 632986263 685648902 264317409 810105549 730723004 347885416 883829931 627273065 302308525 674884191 563340127 377488649 356407387 912538345 359946550 255430243 587428301 282757486 708075812 735025070 673660069 501544265 967621984 968276892 649553955 704570408 818087619 602352617 148869293 341481957 356473662 237232333 902451293 858340392 337058871 250635824 324029696 413453075 874744599 664463852 620155909 986400630 571815184 989851534 193748594 900201704 247362623 622262465 738411764 259844741 905780673 823703116 818784316 849553928 539132787 284650232 416789335 982539640 803021053 876598576 299977208 148666800 287929141 999060074 855896925 371489307 719007298 154187951 765634906 546092863 942738105 855012435 654346982 675547735 547449424 376575826 861020714 587101013 234058980 827199302 461575356 893562350 401536294 158445961 539181670 148860762 149874131 777817968 307677387 440050646 228652459 269156434 366479788 177218069 197820621 382268775 483026021 399864245 459340478 627360346 793681938 589172148 560901715 807826382 119797542 573247176 790960142 796538093 853698802 685831382 664932069 791347142 629896015 787289981 342635009 204974287 167651358 627237288 568076624 507039360 595583089 417082334 677963433 405035671 418974913 184985087 918749447 217931589 850736476 856932576 496074384 225506797 224534359 996998648 670899137 136989910 576862322 901202651 988286388 216714270 313791364 624231804 264764592 919437422 187407775 790108305 784534026 795654738 365875353 802409357 120441039 647483279 109527768 812850577 146630683 752219791 786207325 366947890 205466351 346812288 901828629 713989744 895158093 708840118 122749670 265702088 866262801 841785656 346380359 427103938 713299896 421905951 274393224 281491160 262279864 803928962 286426345 506701324 275805843 857897224 394154866 556443059 587191630 497803939 501630015 230654807 488488537 671739069 978677667 714598147 554354730 369223609 331778011 389494602 582787038 161502989 309332958 889980182 903483245 222447208 627582655 945540922 782619492 800880550 277548347 316896729 628388238 996212436 142679220 107760489 692841917 192527941 750321876 249487248 175571597 733612298 774409871 731318408 797619970 457004543 661350587 973516241 604559477 193934915 589344118 381018634 928689244 941436350 760803752 497810442 549627537 524126205 377459691 587464377 422366821 820320240 744791985 833758757 478908065 242532976 558535198 598001347 526759299 593601160 655022642 757828420 176536090 347625726 761049678 979237872 924725910 520312279 131620002 927189503 455092571 843839225 128207041 198395772 692433627 895996923 801902661 363381681 547209073 936721004 185652901 680520262 640357083 557558552 317522015 935799686 417395945 426478292 500266179 370382134 177815199 280751629 572355133 495320963 731313611 830303803 322053128 179522500 203784423 539964583 512497439 122392192 948585600 950604143 999412189 126594110 704338560 547126623 406659082 103921842 789446713 533461671 618521172 913942363 713811312 746234416 920130694 541755217 903464450 784321544 702248917 186563526 871783644 644896139 163376894 699114110 212059998 997931720 984041882 490294505 818819167 256812255 309997566 321604918 610903863 899874325 564225143 910118019 727327185 334411820 389096987 351819440 642872051 254437972 202994660 658652347 705738426 396585654 508163220 644141221 264967224 209248641 163254581 817509005 525653682 813159869 276196824 285208078 582660893 682218420 677878839 748283390 263509332 445813116 154098088 636181844 794088841 398004351 811013690 709267759 892469536 568155136 718297685 156134699 176368972 979310256 561678945 307238775 861510371 562436420 809739261 989728901 386796947 308065862 418453408 489065043 144224616 234911673 812203482 377995497 435194405 102571323 323208037 306217535 798242091 760623147 299463441 372911673 806355773 451387087 126261618 780988794 737952509 741412730 664914299 368339228 941617886 152301666 325425197 593707751 669911801 325059174 408591085 274366391 387492075 512837537 681447535 735381413 963772013 604804744 891719555 332068491 744875147 181584238 100326983 475517558 222542469 458658086 888114902 688141419 368232898 174273945 146707143 577493410 347376493 922125202 298758724 349962926 359495922 356810390 381254267 819566365 903430210 593112889 971490016 685847283 970804984 691850395 645368833 912294265 835822991 179457038 111367311 437322797 907342630 606143600 145895025 370721454 279797853 388323923 554083928 973495993 752973844 845594732 527602189 651071015 184418873 264528146 662480496 690530763 319449455 226129471 534051384 820015419 992125550 532248294 831356630 640994736 512723533 913579190 225637980 497664827 568444557 272950718 271739585 600153776 849413977 585932572 805500588 267204029 213387182 460198590 104633721 906870618 665205388 442767178 786786239 630578072 956743093 153511496 987383219 751264374 898944552 396304196 438665879 903606470 199598213 967324275 785970860 691300191 927034276 903394318 380466891 367532679 670959784 545971350 689398791 309302433 755858019 666865221 690587766 389039681 499323515 211377115 568305574 548243276 623979204 268669933 952742735 894949080 125426546 675319513 252354712 643860233 513139148 442087518 769016281 254112403 497584882 389604092 140371626 804198799 128759856 475330339 180782184 318962969 390929664 687034938 985389308 397746324 490285479 294972734 936405670 779541771 351230406 222773413 859939244 156164391 733632393 310266241 880754859 149237618 554220424 708129729 575622968 216830604 487038277 868856555 607828029 428720252 911380864 738392054 829627422 582703191 383698886 386138568 107043972 925619959 626295354 291112818 687520477 272867717 673452713 719799598 557831957 258480257 204137290 577706493 939134119 427383748 631637705 919833658 985514408 645422553 651452039 772872009 866375389 599778984 146353125 683170229 181335326 221120001 318396920 193857837 950344798 979153354 762246814 204562750 689699305 589330591 286797338 701700092 853481206 944218614 601397378 716825593 444130523 124818170 593466588 394649780 835312700 662941040 822933055 772008340 777757817 206121143 235585352 801775301 308727518 445549742 248092543 670313871 805204382 582582756 427707501 874220186 798985965 990889409 182001733 446086544 609930605 959980186 865030282 721260786 307526197 284334042 692819690 881899625 216676396 113103523 929589394 838522095 561336275 265153428 493745346 534976781 102733456 651253684 185708829 626793342 422681469 375706121 100892118 780681227 930026909 371852777 992979464 653385368 964595514 141427554 389026992 298394717 203256133 323130695 202168666 596689299 938776414 404169149 918009742 534733436 852429782 625298969 775986860 924443276 839195143 744416652 892416921 677919241 819853851 167023558 939947232 728369974 449197719 918373407 305321704 550057897 187315425 312280341 164479080 531764775 416718869 121876120 750856141 944852652 563731736 260250121 414730838 886739390 314321156 403021352 490796902 726854178 164923139 375206938 906330078 971188190 250532135 968897362 478054077 429758381 366299081 495828388 618507744 788563830 526323722 609525610 467602397 832822253 463668483 466527917 879115409 661601118 859391862 261220362 217275307 292722057 607317081 854460764 426278243 308327009 376315965 239760438 639362825 579977680 900193999 443883447 540478430 807696876 608874399 750377663 949501909 139307469 889473272 180802783 227473875 142568163 422314598 639790988 751182034 518775563 765317411 181681376 328747977 967109532 670965667 590623866 812502426 387678129 679907551 522950063 338370787 965177524 355910427 148624832 124556950 614540747 784821273 373287258 891843449 169167901 531013989 404838600 204784471 634467904 103197597 144838347 103184971 730256149 289253228 630126297 260982153 198916835 179571099 182562492 287836807 881770549 156993307 559079783 491663132 967260862 681541875 170014078 559511555 402714060 695060729 119691383 489752953 257052453 139333880 337994367 809522955 401989118 323988377 745715089 803828687 565278442 581008165 710788602 338538645 773689975 804756464 161146495 279426478 227163064 322263764 703643376 578618744 713416184 307054072 225253463 477260793 930025765 705456004 124052148 507124144 389786336 872146898 852000934 441180763 731396631 301011452 894279023 207911757 735071746 895242816 636969510 180986110 845260080 756163502 793209445 566052562 735278248 637140536 132974641 516661471 312966494 360041137 781632739 893375370 588556468 370902214 959515463 622963311 941699953 901072510 541009517 372552072 278941118 716851284 181600678 307875866 793347551 376074733 305708111 651851979 204884519 290386820 195785328 444986648 367400379 266095250 753066798 665238591 461857992 772854863 963549620 570168965 286865022 650120488 378804815 757231655 254595851 564138550 410970029 334526126 246218549 149485977 225924465 601702721 990905560 691485005 760659006 988683726 298188774 491579468 553817234 895106619 350848257 294394187 149470832 170503762 947776544 261754840 121297331 256932572 573973517 256833317 449202270 619554872 303514277 993122468 525607940 300823015 680821581 286621676 485527128 320858583 742787589 165134686 942129879 192620676 825633646 504763358 996022164 276531226 168977893 653365745 600934910 682608852 970216862 248502409 530742357 320616708 103556260 558998248 104668931 185754827 511061491 678042349 654477087 985435578 743769030 344591107 940163317 532433144 460969506 969226971 710553247 388957666 531799979 903959432 173510941 902874606 410734843 209432942 117814787 553479987 696739315 189089027 354361712 605613109 687105778 553690882 483951542 679463138 598200171 595981566 891865607 145561400 591259783 367569729 741309542 412958666 336643555 972830936 111861496 768398554 255299853 106530205 367200146 561225301 240368759 559216765 869384560 244797542 872186815 716773317 970324509 830168001 376531901 785589765 689237575 225599737 165110483 433700421 982777576 182012230 905090823 183442697 976823772 464936425 249281642 509031441 527825803 485322891 440059644 106104827 501556044 982737889 140081425 678851896 472154640 597943317 408953628 303664224 257909866 918064742 299863045 529525135 989941668 725315920 591341069 590083366 738333367 349207517 385297289 984254746 895367064 212690900 698478406 847725032 435723967 904348467 305087393 873468779 228788028 636392078 929157398 127279476 854253195 996092232 812814395 244984019 101005002 458028396 880418053 499844959 161874455 132475190 295737042 905992656 684775940 267562056 442764323 985890123 992032846 946002546 969613487 761692428 429944331 644019784 959372230 536069532 864322196 521162664 218059301 553339391 896918286 731264324 673113598 492728352 556943511 716868402 744092193 467687684 977777966 711369561 768049486 641447232 447405910 249015487 487082021 130955361 680398955 387788597 590335207 709549032 826107712 752781278 870146122 516641352 718979058 114659718 117639266 702699226 752563970 694238802 206072420 366868727 912191027 495186592 875403607 947933730 805270931 242522865 524987326 489043524 976971737 833709016 122207450 870523115 871156849 807324663 325451082 244514068 882461432 173284544 988344615 548203078 523831245 832049976 203046449 216776571 450424689 412338535 100534984 557127481 866106953 770015173 272505053 466051809 360763650 306467514 106428421 610711793 600899857 224765506 565132863 948915815 574311228 509363107 511817868 906881210 832846602 299331996 209216083 454466779 602277529 946875167 899274960 551707785 829643139 655093850 283432490 216172611 503038883 777410481 143403084 486297180 206662603 199450266 737752707 121976910 160323669 934731172 983312013 359273439 943697149 793352064 650523070 821942554 241093338 458954445 420912618 396327325 193452561 623786739 791410678 727924979 232539260 654789367 527866974 490481059 242646270 200269279 642313997 854000850 524917153 743520493 581222512 288517101 229474019 796172892 763107205 161920517 897931873 547448125 923484941 336405943 571361733 925494880 704741917 227513549 410766540 881291469 727845673 495012731 350160888 309219439 136395078 337438543 531912937 342757283 802356776 856720593 936943937 141931394 945194330 566521175 904491165 563295304 998465802 634759703 195969840 618368851 587330778 660152606 871193854 686450014 238000426 182900197 216405069 683650398 328633731 662830862 404298139 665276205 766055315 466200046 188683756 484672861 653688364 303388025 665075738 786040683 487685596 180090689 451206985 278994604 206717227 824561139 916865278 313706699 681110654 742931226 483831702 918767002 122993953 906707753 658776602 163292103 989801279 328114148 764709037 449628895 892454183 847811075 312300887 745679400 974286579 203016437 167549242 387914586 425916891 417601038 991519125 166733117 274047747 677687358 108661641 126515203 795273627 208277800 337454193 124140300 125787715 162808498 948987326 931209232 858170086 218393308 487469808 769516942 731227272 832362389 689621043 597682997 258541462 539494810 704853212 764649139 872900485 989818996 142877341 174250898 386084250 790427848 830821021 531331548 842805123 399195153 390355964 948935211 647997830 502374356 395353057 498758311 117781426 671964403 904655991 179549138 877210554 586703442 153101597 486666144 739396727 744905662 566796930 997595429 847101160 579703504 165953774 617869444 256636341 160725270 961532718 145219620 688159024 758057079 658061329 160249276 770582185 362579876 869519561 821818120 228178587 986032176 739580390 492617199 299467235 144880317 352696483 439784687 110488184 668148094 108933234 815948654 598282031 823831928 529153151 737745225 253019007 661400034 732434883 922204673 775604289 767912727 533672275 334518648 950595688 758684485 479508921 949824878 457950647 311589018 843742646 904628184 924708252 499411071 975448698 821309992 397159636 721707187 648003331 568738322 126877563 681490530 952072127 701870747 482938409 583254223 542174232 435229033 999678983 169311936 607837326 829284186 652906372 987023043 710350890 923556888 575769554 634347061 654026431 765911279 809463993 307629984 278575453 574924926 911395212 188214900 830879465 326569656 251942742 941323281 866186781 643304279 504831848 873638987 437855790 656045863 462536002 399196665 458138726 367790185 809655951 883521840 411838093 468808915 265557024 400631747 386237794 709153311 809421522 400956036 597850427 716645001 861239086 869517388 211090430 438749076 742582903 248104778 653892506 551031831 617801965 531051825 452144677 923254589 710868012 892823751 167367933 233906215 985691702 537387709 344131440 811858067 650746540 627501080 455343437 660135190 469514531 794313344 516857247 958246495 563923173 901283792 108274395 697072889 250099545 986208341 650088637 183468018 655101593 139472690 253784843 320138888 559980144 310625574 786539877 429644990 912152525 862276027 205375224 288780931 490534794 546802543 733891705 885368320 627618342 248016487 879025453 609084364 172814289 773061708 315446477 160046660 692470250 488892433 647948680 337484041 112064175 687571723 792759204 589641620 260756035 254263730 963363668 699803692 674764591 130751627 747192063 468839166 353838896 250273665 830613560 794727763 354360936 473084455 596159331 139582625 194091727 858480693 826935242 440860038 369939457 514715863 240726338 169576730 571260355 473432968 389420534 719042844 324425433 787391790 620678756 812960873 458370117 662569985 451408859 890003093 341301653 131332731 102719555 799646684 593308716 161672676 718046987 649835253 881566117 304791999 675731231 121412996 753751400 299930637 374902014 994103170 770762900 511992813 801546474 744654181 609364279 954551564 408396411 637945261 829373973 220765210 681968145 522901279 393323736 707747667 101206635 366894671 538728734 396332784 921880530 818288112 196536971 460657729 621727902 669584427 951820733 909328873 676833441 381065922 965992942 758388615 415037393 961219684 930988195 702229671 538797540 472754578 310323976 141997753 868992576 478412518 993929754 724334480 353542803 293102892 404898467 126644896 114471184 237628460 799890213 407314827 314609541 949870784 107212641 209568892 214039788 939374972 690904574 176436577 532140425 733164101 307852595 493643671 951183749 235517189 551344219 156334889 647532185 802611326 524286415 532546875 596417668 549405655 752971188 737253451 313652958 298658967 169092301 380773517 993386487 961229788 751354818 132432441 514992650 502331939 315185958 469143615 411573603 240837707 359968292 161911515 532644042 510610177 784360292 182225088 770975404 806587616 939325477 154650493 732887995 626887890 625525403 191326513 309895382 290470484 519465901 826365717 930400595 149035866 468473828 144339780 420090645 819235355 514803613 207885802 740433929 575489785 789534316 967988613 286829286 454759907 783352201 575288965 359443030 239980882 352385946 110129097 237456816 598858407 796043073 416990707 639995705 386236317 552132329 847013038 843817378 432135790 663654058 146082746 856788184 212902930 766817242 558722970 390668812 781144228 411369511 390858391 945260051 835744217 834665919 432291867 811191121 944758413 482039057 410740238 533814871 355478496 698795387 257256582 820056388 452325921 284899107 638968747 508699586 421324314 844379399 436305060 788830022 124266808 720901442 589174710 926269208 627091405 578507634 192166560 946167157 401841480 208014867 938218532 248864833 672899429 744996429 447884121 634432146 791603771 742560255 683980681 541594884 569319713 628618800 763773703 357111460 144007656 824672919 161194054 651137715 763796491 368586008 459961381 712161574 379364442 842964719 812899545 860517335 685270132 872646023 643104041 455432989 643611530 663335223 224254570 348980091 618679118 273917170 496984434 486978949 978794703 826388132 177915558 601100731 779828672 125453504 435506152 642650817 921380414 282255955 976505901 791014836 993262093 466273629 294323672 150660031 131563892 102014363 650258348 606064331 702812653 852968947 635527920 153539116 640611021 644843710 204627690 806803991 824406165 731487966 804714660 188509266 536598259 169487302 536155029 848352906 186815425 843839380 151010339 896330069 938625877 504797130 340258015 491482288 750387927 648562170 855141645 838907541 848911894 956172328 580315757 749102802 105024010 470816358 381981819 364059909 633702092 903491150 426696701 499430512 872206930 449852531 626997819 630435347 457892603 622352114 591561060 568567721 539581237 165355166 271551470 441251801 710504387 503574830 888066504 868521089 255902615 101609869 761800510 396776644 426491237 665601236 353827232 330369249 463712961 729865362 724295918 605021218 538755402 537447391 906290784 166196027 603843751 981003373 785527252 279496265 145239021 747180293 681095791 681405233 218171160 220563406 242038950 916163485 330470537 529956752 398699749 295138213 793798045 316964852 984845457 192845710 363396988 604162151 372799127 203384452 147113328 247945292 164005112 884810332 169139801 146839976 343515878 590201955 810209016 404836533 808647111 576065654 132206308 469178379 327871511 287532919 983380185 470619686 368430528 592813059 311727010 828626770 230953595 445394825 917236345 717207917 661361928 534709691 671408030 821247048 423149536 833412686 578488404 322236019 942619896 391026924 701647667 515011293 427346006 503573940 903173842 829571513 223781647 246329530 286251463 652401979 828457799 781791662 267622333 706709056 776405181 821895903 441771693 249599453 809327108 379197957 729373653 712670195 653391242 774935425 639143344 756091600 508901925 445664107 665095753 584525786 776350988 787595569 747831758 843054339 595244129 241443275 911317417 237412665 182391852 459883470 828043226 763504296 524516680 313754490 563718592 301109622 954264532 929830690 864162080 476632792 734531647 554131636 166758573 329354130 612158053 478586527 993438324 657067790 292156873 802920582 589841867 127949715 868101002 390419910 729646575 238103435 818825195 258474069 174982997 883866046 244994352 601576704 829382126 738614040 424136171 798514875 518520516 222076496 222873704 755367176 398936489 670641526 766888450 480878034 559298875 962996111 159271835 695429631 589490325 331575061 858030352 339366183 595579333 936734708 150353125 100549877 942621155 725361479 474268656 258407349 468750186 441023126 261649397 952792932 475917033 178105929 790941246 914852117 927833932 215927361 540956104 487172111 282914238 343853140 101536676 232670912 117866934 704986598 421583814 113087389 219907044 413004988 415744196 609596153 320952803 917621246 151419519 919371286 359418486 540597633 850490023 856331499 480289738 842620916 891759826 745818616 471622445 542571789 239537599 229637873 564966738 641331020 465318250 108501591 828477173 973751178 703405261 294858341 118326910 808499030 391808723 221556980 368420548 366540609 795761487 844479594 939052382 511279334 675182980 145341526 655401664 781432676 286979451 550865720 274998862 878478487 914827361 379626517 509679096 332842327 707047321 411027606 397362827 751742365 925975736 523142159 280968817 380362579 168802737 148466363 225571704 363633969 504092301 852368047 375121169 705245625 526916042 932742367 577613083 476534565 698744144 445364698 841286492 609076383 736230025 853856530 484572049 245038695 369279345 839741264 754442725 730903211 216455037 354491129 407362664 465745614 107235132 991220302 783234849 860304402 431395390 695701236 702309414 759618362 975228443 876051972 734362851 513339542 152476068 794682431 999653400 318084733 891222263 177516561 566575944 451940814 120604113 205200577 479046764 457181025 328300854 324914029 801156197 220250569 683444613 333987532 822832268 357276505 776323011 843077278 780694305 273410344 852413948 127589243 497898767 848781203 699631298 742824349 592570981 204926222 270043846 924217297 618193162 944260322 873518427 344567024 894098465 558153679 980766593 528153578 315739346 811960076 411918492 634790998 375671429 749692423 102531150 757366261 408830603 524762969 142435657 730248805 876640370 796558898 426282329 740239251 996671011 911407822 926607113 633235349 315125758 287602757 936827730 766806357 144318167 675812832 416913438 136109701 641425903 161941805 256611678 706923317 855958340 141927263 279133187 778735402 149593366 272632465 136521370 264559923 744358665 617025183 991503860 507142783 524868481 230403272 541354314 910170248 176818998 339120149 872325810 123190007 358180750 414154459 693241146 844122019 314341140 414566411 856710935 346029716 702707035 535041442 483368210 730710608 189879911 769108662 225632099 992589168 821450454 681500962 684792972 803842439 852808641 973699891 310363069 856406546 465572507 162538732 351416405 323016999 299905968 433480061 866547178 499719033 408481368 753950960 127840864 392813425 507221217 652932422 909486204 767338025 140861490 634053960 946537220 664368228 156714503 653366054 384883766 265347600 922499441 356655060 530492492 354459155 953100562 223698711 301037953 779190099 607558047 605254504 139179008 699633574 410842027 495505422 549045432 275699442 477592445 183046136 321505729 979838416 597337346 620052547 206788070 250349782 108964376 919282217 423363648 589687361 339413433 528898966 504095157 251614553 356431620 621389411 201503765 354037812 617672690 459282043 927698412 101862438 266416793 746258006 585024777 297257767 371107913 133235783 311275264 283017352 880498484 678360073 193347156 762183799 697797543 775865831 189601860 478490902 744441052 943173655 273030308 993155512 498731108 309168072 297257922 632403009 553603359 858262547 957880019 689443014 867432650 182189426 462764403 172133226 172352267 440306652 247975606 373221273 144835910 305505150 437840875 849781469 449235832 887298753 585598422 123153872 469120476 810754850 810652474 517236725 498238981 869605554 221567248 840570545 678822771 568386829 236652466 460164182 946043363 605194895 839293597 133903204 824266212 952200502 735441353 676183923 326206826 565790519 520445917 630305418 356094094 888797124 708903924 950846522 895945917 577367868 343651066 649467021 735003493 457365908 840412668 280579397 358016202 509900703 126056447 306584799 700596155 280947613 124024184 498631539 868978428 400888346 497834493 720766173 311846860 658778320 393272502 965811438 629696427 595784422 131718165 147877396 197376266 651662809 921970621 902779904 642054438 301862878 952096987 171473872 191730435 781769175 919904767 131119349 618400573 203430377 614174741 981992557 761073960 850585418 636066921 710112428 702468483 774688998 753147818 119030957 348855138 800652280 872806004 989931158 656984650 417023936 913210438 962923863 309771555 909132856 957069867 360227869 350302619 653412458 986846780 391406708 149928939 544924366 259298549 898860614 318173299 125335109 267426281 191207882 698128647 322262754 626144857 612009607 416369988 806755445 606304038 274906251 647033700 371456495 699507585 387217872 583016101 725017949 158037993 720591764 573701201 397961092 684545284 741050995 523281266 817225452 598843903 401089103 644803972 790288072 896471909 523564826 784538917 256990193 306428736 946371004 878576937 274901842 120928783 174150864 442992950 175282177 796837813 133462412 314122671 628421588 428580784 495477114 801909347 406969995 854183243 491177125 856414727 723626176 909376289 171116105 144801194 930869593 197204988 316043771 787134830 594864613 658101578 876677888 976544079 905792727 484937403 366128195 840406088 428264229 292747463 279617023 909621223 383717096 439880420 787223426 747231392 232646620 569316932 398165978 453388950 968666457 189046896 404464692 670252277 174733828 121133147 291678576 357470729 712704312 380229235 891999642 417323145 538583904 609261443 542366249 836658445 224851131 769372462 923879727 800649832 601180248 479009762 368191662 265426248 549449140 131668939 175687226 638528298 848059201 306887616 419492063 258277385 403824294 897267180 692705987 479807062 390598211 797686983 319244965 536640070 806112442 192549456 766786936 765729075 336324535 456775791 444925173 201242699 692438470 877034399 726924820 219369497 534253006 588305070 299467310 676480208 546572821 849448874 909480354 106219302 711157433 580197720 478998860 852237977 140383846 556031287 740783304 660537100 988364607 257819852 986659743 456710816 974283453 592196157 862849183 912855083 680226730 679789853 260038702 192141193 495250443 646668916 879557815 726835063 830334684 844262745 772334188 911482879 515056087 926338185 514069588 329231376 214046167 908738040 845200464 849561705 956353502 803801412 378411793 896687965 995012428 130432030 244853608 753113554 872685186 872070724 756302683 738513638 385611001 837052691 918925739 182482337 248569270 993781325 326158439 397222294 110181294 495859519 711670552 431392668 593466869 350126846 676801955 947268443 946637732 255689590 771238682 945511333 209424979 983298261 601309760 687953422 991477394 794808476 645815916 251010734 245049645 941004569 833705265 396283406 587171003 252121305 155277860 417364423 809368543 870310315 947937543 695996685 581922681 152039249 890962780 929033373 181644008 314080405 414300002 881499898 154175228 500896326 667822859 882485898 180736062 520314815 885432939 365949624 587293881 842792550 933030385 469437293 488811175 830860425 513820513 365054628 462859990 120992927 889202512 715710701 846876243 121521741 992508637 577948425 872379454 242796300 756602371 893112777 864461457 975028975 153905046 307075275 289848088 247783929 284630258 443402489 418857768 306612119 664330316 198597555 990706375 264042096 714830995 679573039 156197018 418678877 440064376 574638121 454044657 379932803 589707839 808431016 566471252 103841332 234578934 927265433 902668760 791302449 852407383 550207093 808625094 658050688 396865465 669605789 816506682 940900674 862388815 853915424 217206652 622924346 222521338 627930617 639120508 567492591 443569728 681342044 884364474 564424815 794482175 256108100 528550205 512657591 907493062 129385740 469831555 348261080 943127545 704792342 519970119 315800323 158291323 736090461 695776113 428932584 640490497 233618517 583715179 745294984 449855876 724645209 150721082 278838404 199916636 509301766 630055905 993356162 573425446 482165267 172054142 721067688 794878515 245002158 600087940 936814089 618782381 829110100 910651014 242593589 417659197 856704731 637830172 182702538 395756826 838921949 313429403 386410963 420758819 149813919 903476893 799357321 472201643 724304535 194360933 800121152 883670704 524054993 905477124 991191716 197408598 369729795 230683646 296011599 271187649 659482648 595130494 585550192 500377868 173942162 462852139 104539623 501125701 559767251 669829867 829342201 244155507 756203159 746989543 288512169 765117486 272498054 956757158 827525347 388698474 545987717 432242632 603101722 585859688 394671984 688981761 104362727 219065669 144998197 423394234 893749507 724619916 690439391 121940279 656386971 282455717 396600148 325150052 310816220 824343741 474298666 654441693 277636099 791825424 272091117 174995653 135930080 611030027 377992901 329296406 469863618 608399552 824864831 239707336 510715101 299656220 171077495 785955755 148134810 441434992 953513537 555303094 273363665 127294285 242798081 256472475 967276696 315033628 381692186 680402398 979186587 732435062 696364047 239472840 631222779 426461155 745377868 750246255 614191259 966185781 452698051 992897445 444369612 703636875 766487673 110685456 636500975 771625094 238851945 145997093 110756148 880592259 843222865 681904824 115240308 384838111 102737640 840496669 724403182 885887492 251594648 700899541 796762491 428894865 605635035 790998580 851519084 768775450 284048838 799727426 710781499 704539476 952488933 543993041 497509976 820218325 359002303 502158188 579413401 266384117 419055525 582852554 147478917 565120637 481787177 316799551 415799905 127156824 316605266 801526242 948769799 380084701 911251345 941463537 124165845 277217856 274288522 340575618 117628416 752354995 447634325 233977683 195294452 192394668 133041025 748124853 738608492 673172509 153882428 751806015 105441978 190429442 194670274 307748223 584771074 263175023 171011890 738891839 437112860 138836577 482194267 935492489 925448371 580048204 683652703 392787225 571503160 909665613 441133518 381078195 637698305 397755287 565959179 421880040 675716783 201919130 391851766 463717665 161289142 815858431 311791515 980684047 186989662 939043267 645725199 524512092 458052756 190116214 667288144 507906041 112520916 528580545 321800677 368936525 195664460 289411951 968253203 923757225 767226101 334751069 228297051 128560676 936746723 956579059 817056972 174037607 728975939 483348396 922902578 918378585 790684008 440670980 618572575 339487386 524450827 118916600 569879921 776101345 613253054 187903095 855312714 826218766 171438709 285600838 994834477 860611677 506772503 882308977 676001656 693328794 785680218 811503161 673886817 927432836 548991885 385221738 198624456 699713013 566841831 767233170 485845175 742010461 145586900 244741914 512603447 940696485 430534060 879509952 105583017 400189519 674016427 623764464 773911426 819117835 601537526 275044073 799215737 628473865 805543643 834637237 613371075 454067058 549293109 646436995 328097343 479371676 142531547 522322118 521859587 968548645 150273411 272320727 768450815 352727607 584458692 593792372 966938040 652137734 104168167 525261275 653005074 533054441 150570368 554941985 382448172 158229814 828978712 480011395 922246655 848152645 545124688 240773746 465061021 873361053 213106958 158201970 787075204 892688027 568235158 128758747 436795872 697298054 513057833 324479843 666588254 306691368 498979766 851779166 386115956 770216220 100453068 283799637 968103835 921350903 803101685 311814995 750970464 167768242 574838491 261306190 167342789 344263731 148057630 942462749 248557450 310975681 126256136 370999139 456074413 762391173 134822298 756138246 737308881 108092879 450544590 749833465 377318145 228593983 372121614 585081022 838702886 167733046 587189485 765725737 642946184 161676452 722706092 937031021 797148435 684814134 839548356 605312547 440860297 586978689 936922247 341322858 519720412 811172578 135904341 319563054 967397781 993566187 990328782 372519302 567145483 769054149 590203082 347563533 596346805 352531800 674354308 232433983 933520501 832238526 630654199 382525910 623734285 744918012 367223265 174112183 281103700 158530651 705063153 847688278 836564645 566659935 170191224 395161294 692841169 607049619 256033103 238748984 361404961 568718113 776228520 214600297 891979589 266831605 104794051 809409762 702535087 941320662 746155411 282374706 384760780 833630935 951403505 488123179 748488209 396543896 451902461 568979074 940768969 332952132 348771499 278980861 304704690 883020034 712031367 583185800 893901961 239781557 380341273 102541159 537027738 990831247 636817690 539809408 880582622 981440394 747249303 153315855 782139717 649778139 947720512 364132426 758745893 960132024 192195825 676588365 848072586 728360822 145702121 529840808 226252336 298149860 806128426 537298492 435655675 777970510 430175238 236444767 538370598 469516771 388640169 337323632 436608222 767812292 107462497 262568379 193601396 817613498 856432750 475125390 589261688 420454768 398034488 901388614 681681874 786334667 816811350 234205443 195846009 146608826 639446984 869429457 343360961 812933361 327205148 636434532 973184618 215065123 480471095 185186512 408143872 897372410 829484762 362844749 393759116 497812157 835573283 460262524 524018033 477737073 744070722 671336887 292972940 130615606 541681019 441573874 210855816 970019766 905139044 103056758 931573042 152565466 179357496 970371707 499178466 131578864 129982530 986456628 850798074 613074915 783797976 613736711 205281678 452270669 598273919 593843201 679796970 710231477 659191131 992505007 971932777 825023153 936468216 828783176 490092705 663534146 690192043 549539872 597821401 309689588 856203274 777279701 776570891 476629999 143370978 748657189 157233417 797060587 234868657 618699810 120554547 476683785 391211027 647393114 601786020 548611788 432701529 173225270 839957642 823124337 689978503 519073625 990882344 559476830 912592010 767589357 208122865 978736063 613671406 813970880 552185701 535248899 180595787 445695353 982058725 674997945 576949240 659720703 443918129 642266240 810205075 475710465 375417194 260609196 236895605 312308253 852347235 109165010 956730854 533833475 651097528 121433614 267368537 978464528 209917967 788479370 338099179 197103104 376936904 201944062 412789473 968596936 734264725 746510532 548070488 984235022 808626494 887428911 622902799 522474602 259088997 760719801 468800882 780907073 931946130 362691101 904038843 107313466 796351448 136260320 330302375 330044426 812165747 612493344 454752446 615545013 150830565 994968159 459228902 216590115 269698749 204561326 192177297 960998737 330936491 359685205 595799773 995814362 667972147 669975836 663810598 793471255 797234028 610075214 637077993 173791121 399148063 527647578 628559725 925818127 579965975 704887412 107303214 273925039 847271817 571213789 780432048 905096858 531201014 200708912 242589917 231252131 129983569 429671040 765748826 193225405 621132180 585045698 259391275 439989722 648966884 118626923 711133667 882870861 371591904 490626377 426414249 352066623 472858049 893944163 671215919 341906065 882584094 414105991 430918749 549454068 785643525 525153329 166381100 870883588 462320198 822032534 983424222 474255788 160368684 168487978 292488436 166538903 137317312 619159936 746220028 700750336 285282146 261324326 842574692 766210559 643106744 899576836 528277953 931387827 775872764 533227330 536781388 278454399 529571254 760740149 636269678 477295179 675585745 901981719 207181315 943319707 321594154 672265915 905859090 188624740 903811093 712624648 203904822 723933160 448458710 448544438 966794598 394042970 668258102 725420555 299355738 181721310 685634558 653364240 220450540 741635972 941817946 888707812 966732940 821846813 454010877 312122051 311260906 422461254 500116166 103660828 762729002 897188905 479080975 803096906 675854081 819798496 262883523 543362807 716134884 344578827 366073822 377852597 657412760 777072979 856094356 270784556 266217176 867332608 686979954 108180976 867166386 725448771 965042319 934697473 561559189 136212488 841226207 211983417 330141095 811038567 583513711 105160215 279433598 802656555 301394251 986524884 625414048 682077010 575293528 712259127 415933389 763833891 267531414 802228804 862204128 893812428 705269881 194864770 548913966 840513545 566807356 334626569 748220834 445765140 241424216 551047313 497408095 182069035 987394756 439204148 353609643 638200482 161211000 168872094 668929261 419594905 578966217 938373076 189219784 971659755 639354806 706733065 287525589 999786038 706307879 663414789 868605756 168754126 940951958 164592647 410400105 641512795 816836318 170802243 394787851 373086708 733812532 970717576 657358277 106877770 549928594 544725782 706091225 889991781 191824369 676277680 240164539 828492175 118683209 409478820 112218379 280762377 341457393 311644759 280744235 201280818 234938520 782845657 106503744 252868648 487689868 717615561 547598679 405412460 761392097 556252763 866200123 510875184 146482899 265805682 820525320 620670462 945624231 653737774 985558788 181987501 268133724 557909178 883972392 433640603 778936043 172075570 636553523 678181326 979161308 552097045 260767545 911594337 254055638 283352988 797981249 586713219 135140529 468211045 223279834 741045894 469682901 937012102 166738936 348687977 672027208 156334579 506153023 726140050 598288387 999038136 959835857 377945908 265067757 366103521 262421023 747925441 711479490 571447721 429735589 170606244 170115299 264253038 954922833 144002634 460852759 883479102 217777804 837049551 106745668 569361112 480437477 921281033 145820489 960763512 480950050 653072836 136339765 982761936 155309321 153179991 755915644 994226023 997276603 185029698 937963359 625821426 496138415 725859853 634089298 636273596 674703285 792900612 370090344 263750585 133446442 966410944 866401938 273060054 987927445 252641828 249517929 946207718 606364343 845260700 900386853 976503084 645166631 423457981 211380911 537975804 808349754 633166296 124319158 963931028 546866955 184525231 186474684 719467401 156040843 188707639 579355741 403215369 285173806 313228623 741564673 368049499 495822824 282682016 731298053 265277385 463409006 369852568 981761487 624001177 448131765 289527331 595886667 671486010 643567025 201975025 159436954 932492924 808323613 178065011 378549365 611524164 164975026 159637670 375241594 745496028 584683814 324944201 780537399 393136164 156545880 974111802 484200361 208283647 446861156 609954473 228342552 637738388 313686971 829658836 240218801 493752741 954255720 607071635 754745497 361650453 102206218 913901577 558227391 581087941 392332985 604736575 752333383 993637964 116785616 242411411 230372656 894269613 652789055 378149450 139382479 917837330 100277688 350260652 960789011 920963048 287340891 732053071 516171224 795418992 625738090 125133789 732474545 519980115 105624116 203316082 358265313 550274039 297516706 149566104 749471317 670269907 888803124 474086407 283520121 613390402 553072951 470241569 962868099 493844544 387152683 951775247 718539837 993882177 866073557 680292093 499011983 210978769 937760448 953123410 287942874 881475727 920094951 363031042 587932503 431595635 975015491 904518432 107327465 561735872 934039272 299308932 953103505 342256470 663475046 773905027 337745068 549161728 602672838 522002762 772036884 455283284 385286509 603972381 221778761 952087783 428212986 985501995 272441100 772021381 828157025 861556512 657033379 903757088 774829160 285653771 324214557 485460477 385567516 911623523 497664554 232846462 383147537 599431915 739901296 819811023 592238604 269286628 663115095 837403574 755490671 488832998 101870432 807172750 549184638 350456650 759657066 161763540 150376696 729024345 417047611 999186702 538954280 557634257 271598460 873156724 355490483 737543849 369044406 808802481 485743227 179181115 172498836 911209230 940620476 192672377 876722649 463429329 569518432 494332054 411118723 224999930 885618726 779617308 965039420 325389292 865462049 234898532 163489939 299492398 703374459 978795104 271492322 764826107 595465441 543820063 252972508 501031615 627921544 180694224 868110776 694590626 388871257 416869750 281890251 740037813 354952148 782316844 589793853 216379567 673796116 591775713 117776522 434699943 846687782 279051199 178687772 158754212 396858673 412384659 407957219 233135177 714845593 159400466 976957052 517157223 162521393 236480470 832739878 663544533 133141934 903123741 136842616 146607880 629084286 162179311 213619970 659648936 312742778 562828131 362652346 847517070 867033798 477524171 477954952 205412621 740727682 503900264 255855534 833984600 541421414 191190626 185159971 635501919 808697019 325455537 142625736 743770620 206876184 682963386 180242568 941721572 114058490 841876743 162790712 874099445 381454681 283514286 857643188 946060117 990315304 418527220 106844818 836236625 612147438 167086296 750954066 444442863 199623387 475336031 546754460 944119038 901599198 743307377 329982285 174591471 831918401 639441857 274232238 174070654 760436293 619816603 485394792 120996135 782284834 615558882 650468812 592654289 712174004 723029474 264513900 196658169 817451090 686794284 420334594 609151450 610413906 136658529 464291376 220967262 133395814 569436637 216572654 976353792 647631978 160585895 721212756 598546487 927769267 283069559 920136847 960634809 865567163 865805566 806770376 469349438 624648745 216791070 440357890 889760211 472699379 974120806 448098520 511436274 499436971 240449875 141477595 457143104 449589383 106915681 494852246 238750366 600013078 760052655 997264475 255900371 642454476 700941449 203452952 842615150 700954459 306820005 371157736 323917055 736044279 692198159 210979689 904280555 609170322 862121601 470047963 661363223 901462649 127015573 248728586 464667416 754911188 680425978 639249993 188341136 442042690 994380181 601766941 958713671 875004719 118908620 249431319 279203825 127216866 647153308 225468725 491974485 551275816 507558870 690446277 431229510 182578263 701787415 114521776 217765828 935383825 615125247 700652740 441367927 764558302 708279775 329357140 634988641 873965110 657682623 514896224 680850864 402343707 518475061 266850455 137525984 339125592 494146717 681914432 614838984 482620039 632211915 169032735 936364153 600824148 462631262 112492758 137238811 914853349 926717529 828642885 382065556 587987893 262304655 897256549 468043757 636872903 832544114 473912969 879452180 165228869 337584053 708457340 683405076 897462966 688194228 968190129 501325233 647942666 996056406 692818614 844837946 411681770 500396801 108985984 358522192 679160565 592349245 814465941 543543177 146472749 553249832 804319948 684344545 869691590 583861505 985974136 862372532 932735041 114569607 107894292 356576146 337656728 869864235 428659045 171921960 490611014 664964127 810071166 288238467 662891925 674891877 922754602 420219886 725132459 382224604 259179328 281408423 471088177 512216940 855175667 203867757 916024898 512178424 180849774 763500776 792471255 426843380 970075442 758023187 169990398 688399655 494444812 264340975 708830942 278992280 150954016 649430581 290612278 229111127 885395762 407731775 439516102 484093162 177311338 413209684 263339900 274177924 928228526 877219915 964226778 436604936 617696058 879057878 524225924 197837195 648407829 186250191 894215362 399975410 625028877 366457932 170760229 620151879 698662384 555552383 369370805 522493166 183464634 222033400 519428074 183056914 485028902 267583271 340668944 530939192 164374496 659570961 762677256 596554363 699581648 347565158 266139399 702680501 565803945 934864006 132854205 640662819 226107440 570758591 789548150 461555869 406838875 567471036 146096155 226443954 466298751 993590959 916749461 292957956 891713369 846027495 352667609 818234761 647397551 705791274 261561295 953387137 572030606 846081107 503437096 675573065 723705650 742894356 282552144 825135310 647443452 936093585 474351613 154119836 305054493 550759638 462136659 234391216 664564979 195950344 553722453 256163480 535740282 956983477 885577055 340309831 919298562 466736758 121514231 838343702 833810046 231442859 268200963 621878271 230322884 693198041 709948431 310463448 976820384 833810726 806939512 936515830 333688620 813750866 276370506 387859046 895484149 622770911 382940430 483276876 382785286 766497337 949318622 133331114 519362721 354065087 847391136 464475135 740066552 260949811 565302696 344915739 394256481 780682519 734782412 788636091 868575641 921201854 677911024 866086053 695347691 781276781 706531450 945404373 544339681 781320423 264064073 110697273 787668175 609862512 565288725 802391053 601803269 289703288 966393361 141525469 498933907 758473122 561796883 200142246 182717101 525353055 272980851 784630492 396231166 487427567 571711810 635215451 605866460 364260369 157036614 709376132 771076934 929957823 799455586 864306372 216732528 941442424 938790562 792492113 509843322 161201053 710294624 236966825 584171698 669604929 413310406 576883725 910377214 649898040 885219857 632218485 332576371 227930930 516282308 129400799 506833694 852855529 821909332 544686030 862607332 854423433 837395331 139947972 906193816 135090062 676045300 675995496 399936179 591305001 492846725 886672809 137965843 583244329 644456434 266379481 743861814 162976794 647304068 168958045 674475285 788259508 601466497 214714878 963136415 177371211 810215891 959365231 572367376 580541188 503106605 444121325 900617691 448830382 946329311 866495386 132406900 851140815 728686720 395149989 317703815 986303336 667314983 596667469 352913633 988886156 666274346 298376881 192584356 815191825 107559763 244507842 520792081 877342709 567706688 614919425 614244001 838410568 999319908 278651533 557800960 379970380 263161105 780290305 976591235 625349132 495640510 235395177 173763653 419518007 139377740 428462517 539086092 218743958 654254273 969647055 838174477 978673360 597747408 636242939 555761967 695830070 401672649 820537616 564496720 571548350 862886897 821767544 729022223 242327258 413468300 761139334 290689208 790885388 308358547 339261050 768173903 385346342 474297342 389731319 111520233 789804314 298406530 885877358 318496826 396951363 479084013 974974236 287447342 716316719 921750492 850896299 316572027 265184425 903050300 679257713 182613458 224780246 955744934 169535108 926300370 516281756 539852510 111966860 452962556 161186297 246284179 387589674 145283338 756736896 486660136 408313234 201214265 663275355 132521620 128356639 448473664 984436871 876408857 555308030 149625853 384295511 809470792 653535418 717924004 845924037 127655328 403384683 778402431 315424808 762562274 481410425 527021232 876333625 765169395 978790912 648908169 225156290 319606774 286541864 155099469 347906874 378936836 559317864 192966485 641675055 311643636 801526563 612940533 877103879 401773174 657003763 374383060 314800313 318626183 951813396 925530054 486845510 139195285 550375801 578189359 772353271 534960255 900974484 298752913 842787092 408067670 523009598 233391113 212384978 586933398 452210072 530990617 694478026 140178647 538105395 108219781 361771490 147565369 302094570 290367458 529973629 988557539 364118726 814515565 862813361 353475659 656985780 462456301 140394753 590564264 903553787 296948851 202278863 300974879 569898842 378265980 796875890 250544168 921683125 991802199 493419761 448806182 255839486 206220432 852865671 379511715 458467963 777516655 267815892 642926029 971161837 189557204 179380063 185345639 214539738 820752302 299821533 105300214 592413333 507771813 977570997 780607068 462265177 274193222 448610319 841961866 133813435 191607967 284419401 706345474 392636431 402405039 646049803 965786898 782742671 377408071 307507730 149641291 709849993 602489532 482153184 112796657 869979630 654007652 709607857 646847170 218064955 992945860 295759573 408483630 638316485 722237009 427465156 418822996 935267566 951998891 702607853 595366013 767299688 146035381 886026233 767911202 699134493 603940280 425394703 825917958 957062840 546252684 500377825 498470977 625711544 136654406 875680131 569609590 280195861 267851584 814245875 157369175 650399743 127586028 582177419 670201713 505775373 856291822 774688050 287512132 600242830 331474928 383570061 637008355 540222890 139296561 176658535 955847359 457509145 437392944 594133789 205069514 649535690 681037369 409220615 841454074 896934170 671838473 253249224 421581169 934245014 168283630 851557238 374066875 178272044 123247854 174893986 393552312 346183274 504360973 105520853 518922222 658025771 820521145 911906931 562522133 752818159 472043907 985321275 925059566 592610370 532524928 433682177 506482398 990186408 241631515 744114127 463988807 495616125 785646159 769071820 292520762 982743418 107408236 127166164 853070045 101100317 477329206 568086988 793626327 527247492 640383359 445300218 985689854 694495022 599159504 243682959 814684423 283793337 595100224 215091111 630150268 819443851 221823778 956567427 564131403 548649756 417033773 583819399 318206991 973030692 397618446 169859496 429116343 562763155 453021793 278144392 660259380 150496468 225247887 370941771 839665498 443545858 773696713 702191041 681063828 125839334 517790833 603356440 336834552 884327561 394052384 328794943 710318063 469628556 771603338 926944781 106328696 680139832 975133672 904539925 909445399 820928542 639207429 366834167 247907899 178845571 635667259 953320339 931042458 497431059 196845478 220768907 931597971 225101557 411255064 112735637 432231682 425945763 655869521 216743183 189414079 451365136 902292280 636841681 610840932 607437544 212153712 419093925 149747932 602693662 898730064 926686109 742258443 981562334 568848232 346672350 292550699 511187444 934767055 148518331 282709492 561075423 314497055 716100224 168562197 563486645 709683253 858883582 923559254 142672258 721684755 373225827 427445684 980149874 965130254 319753768 747118504 278010390 660400515 871583805 785536172 118326813 414336189 318498595 425917319 338459092 284572925 541613911 714160930 968736438 322923168 793901329 306406392 678360230 896810258 139943866 402557145 644734689 983237656 461589774 760316347 879769917 247566222 168056741 126689674 297983536 190065862 203932689 707127520 123421423 422890440 966825425 432627433 926331685 353810547 311790756 292881462 524067118 616573927 939203776 188245236 560945751 603202859 928745587 894938051 182172459 203231942 445961934 654638253 244521802 445346389 331970174 972511690 289992886 946926511 848643479 676669895 351639730 621692957 781912298 961207366 981191816 263395489 921191866 386624804 103722545 245555321 891200119 262035164 606321390 160774473 589253653 553958964 238104501 865881869 506159699 837872748 593422482 686217613 103757737 597660838 655597688 251871059 233877890 696471255 613206136 528494573 854097176 177360216 306619620 599757671 141627389 573477885 669812155 562505519 413795109 483251470 473965687 457119482 410756580 369602131 385022496 916758463 332190059 198461759 964240071 111735064 398504409 493159919 966290262 171892751 329344238 453448278 538398523 385286319 969561641 911247146 653948341 253008726 904256841 835341793 153970432 792976111 879633467 946028151 751199859 341041160 283639607 438647305 893659731 185670971 992373533 118010210 422970176 987968693 324567482 179176328 129108962 334392079 394800745 859726042 748472169 688161775 229982414 706180560 777571188 722755759 617804535 739124192 151359922 562520813 575192948 165871656 301377105 587737481 552883836 399411793 591784434 840979759 841300134 450049711 148330676 866473923 733553214 566095388 171812281 294822563 234565124 331728193 391728625 822671406 203772150 785147091 918362619 509691516 204802845 938721070 795356341 911770571 231648802 172789149 496281373 550285967 803778750 928198586 986592890 306751596 455894684 316010045 458292484 522879018 500201245 780281523 430626189 823825402 579511732 993890365 388052752 277288002 775941475 133291842 636083298 250723255 508613268 192124315 654540574 854720858 810977473 623873454 145719293 499820504 545091134 526990102 965503442 757116006 712417888 523801541 482426574 541189650 383413311 351549045 712582044 901059682 870819325 414617369 483029039 620620020 192102644 361806573 674026135 364561514 732247398 688121459 476350385 659407092 610742631 733828765 491180657 169480157 925182584 992528679 380061023 902344799 927791226 467983859 872991346 295902756 604653353 160699235 985835264 107315201 208686285 917244657 117842397 864712813 782722354 987157265 575225665 177089579 944450503 789794651 442752753 959791467 551245272 428027392 316059619 325477932 802047253 474633791 953835221 262607528 236934963 884964995 111879021 714550494 746822146 132720910 681249618 165070425 970589989 578852958 603883834 207718132 768259355 878876670 899778841 782814163 365952015 480709154 846470218 148707197 278606454 760618278 347645243 828407077 731892269 614207574 506024208 820931688 704705683 169143212 159790438 186913240 111157944 340749853 720461797 565745134 658564057 876045970 987049039 260278994 183229686 419159453 126913861 680158411 582884953 630447587 158571448 195761439 434658531 640342573 673237100 581735311 828099852 634791992 187275997 562638802 299831212 760232502 636073935 768994696 884519986 231234393 783318394 762904857 278862535 649214141 933025525 788615218 818924945 151899462 361884665 311515604 924850444 522864484 792470887 611504818 531430975 209879489 473874308 421114396 198751079 894227754 519372238 682965741 613200496 953029302 843669219 484219216 811750174 432297270 448794992 586370082 300876274 876654882 944011526 196606319 162483659 154479655 233790662 310312392 997742855 914874284 513642295 982776308 675931173 484631848 381680656 464169677 157892711 187044707 136555728 623100413 106445233 704795928 974652439 922939752 820454056 567004861 359903968 985641221 394818651 905534154 340602263 325331730 122731717 461143000 302258408 788711195 560326016 948994157 875588616 848474836 718000314 845885938 687897888 900671429 233843022 170984715 181651867 215937370 469262608 908932705 470696955 875338402 674142857 870173830 482051306 699929185 764195258 842727803 362482367 573946314 438703552 494909780 909128729 107806579 408421922 747739142 971638669 324960025 263037457 259531070 601758289 517860467 559811752 194439864 353267670 751352801 807533127 512910083 353934348 143382874 446471844 796920444 203038513 464847117 342875108 499781314 387566572 740401996 916859278 883794023 249446955 460031692 205912180 570450321 143882931 532167577 644954754 390272796 314748168 722800727 482246163 175604102 161206072 633302399 917113735 484619629 952308415 843245020 439347278 206447464 660867109 649733498 775210864 572257329 250753541 520266328 900494604 492880502 119813957 422669656 489522701 110421700 954213123 262526259 426086423 647428105 832927820 699628243 330849570 598395650 880031234 836137830 100683590 882385336 269837822 816369582 975186789 177036194 166287818 648540823 362905327 628178698 740271800 509128820 565733808 449405928 789791064 645711987 705544489 635506795 805728604 987867007 426537064 647025729 929003157 126567740 984313537 757395494 608970064 228346522 912776028 111729431 453414524 307474482 575685535 131759198 531854121 667300277 995740019 687636047 189768425 736085494 426403753 702865870 317428864 289799117 982952816 119264391 194178973 599019712 572220784 647996044 112552284 324441048 989899963 865575379 423050569 988896921 267371436 974426181 602159009 679469947 855573374 624188453 504478443 601655385 646675725 136081962 514700990 720133054 968066833 344590324 239569314 634205636 294781860 943378431 227443056 229724110 443733938 558054199 633083655 908500974 530296145 527282000 459327865 253141534 603588938 500333124 326875537 355170535 796131307 740028965 166771388 161523475 915697606 500766801 163603952 261516969 422366200 606661768 663054247 584371954 186719168 528436337 889016294 639533098 529908683 199303346 971034079 995489246 794663501 953181926 392260325 887241275 581787317 334335751 484776284 660733780 935178069 563671083 997784462 825896901 106781944 615378316 121666659 716120925 152372785 317407904 477483174 491275824 504541593 351824603 461327119 511385465 233308362 605005707 975324203 401965431 482334357 760440704 972956783 195174255 326442995 114405183 136188467 658441847 664010242 796927738 554960860 783087887 352515467 482143233 550265509 780360907 585133725 111987099 961424712 799566944 769594764 748698535 202190043 373773930 240756777 902951228 710424792 824426875 613845640 152646465 278514734 922598675 138903086 883758493 912179370 133279796 639212337 837677868 711015356 862684271 587219746 754427838 478459509 553962260 844597969 306066583 748914239 972712797 411788257 556380229 193669844 615764193 554446887 185606688 891165364 797681565 589208542 478040416 869018118 917607179 722789845 886288336 166305898 258092416 160624624 703822281 235735448 329474441 626676449 996634153 951536980 950698242 482915919 103206734 207416944 309049385 687488315 846419117 316304952 101521264 211191082 273472170 418110864 481192660 804731827 938345775 850403470 647201311 250853515 785336867 149226439 812281538 530687578 695179134 615292361 159689966 667140216 633760736 673454711 347532049 515161911 635804262 835017032 287971161 327588235 170906018 556601916 376223571 947714036 770425905 721609841 607441629 183981388 391951157 729739169 707839151 455320512 615330723 236053811 938986981 247521234 213161049 717934407 658300381 564898442 851403037 148524003 354698074 874145185 149007217 397081930 378400909 439956312 688087742 613303948 618422717 882059585 445538872 282749182 837745673 915710191 960965567 316011570 991616115 463455103 188498085 916797124 869279678 537504740 580298911 337148842 491689355 200905836 250636087 449558105 782708126 687995493 501873714 567477917 251004370 858926601 694822541 621488908 368414869 697462182 713335661 388360123 138369329 112575362 392399528 966010099 583657847 318081108 402817197 832213564 423756845 342433010 382279593 541567117 482882710 608477455 388626905 432118206 503164208 117613194 316676215 776109567 596753222 993561176 155519200 802080064 705415180 498135271 697954632 924258033 979477135 255384892 562320821 279679967 888915089 755660449 699087803 767639239 405010261 790578561 352957971 629469115 153612061 750303568 640107840 812727498 344869589 606478372 450309829 413779148 463455694 737230125 456653181 159367499 770952976 939221337 446658168 433338086 423112825 767826128 745444932 724385707 303276335 617230198 665719112 883895273 396167133 765574401 693144786 852854341 499206951 729522112 271001385 126463901 259759669 433770917 798375321 423502284 360189842 362322130 577069758 788866890 916080523 542086176 314024055 547177066 565787239 942091761 804332153 337980852 888763630 418460037 827731492 604620425 815711380 392158411 258921106 561597868 292719778 388130780 716547395 266752401 229483460 243443897 592149885 587432490 458318944 186979311 115509876 142668029 833390283 414309671 166291639 963866435 460973359 302290976 865779405 877718227 284254713 795134668 828402272 991686676 893516446 152812499 959296441 692444391 165495089 986646335 121789401 574813303 311749790 282163079 558891085 946377978 675619149 480924813 544912662 784510870 797864185 993102520 270325357 539462141 744233593 148472747 375296089 111592172 909158897 949818168 140191208 296746404 552167491 913758061 532991675 192766293 493651883 316522474 100435684 688270032 385562863 944871421 924803605 495578357 589849572 369283568 124097176 241906221 914748218 531363837 329817226 492715815 168585307 281255808 343093492 819956185 207545453 835894331 421476502 274872330 934921285 514580404 923167841 184269852 237756592 375057571 994664198 637949349 511591571 648459855 482212847 118880386 506113630 841953092 965686328 989534821 268156008 582890450 339911918 139979158 351115455 744749643 536777804 338401853 675446645 154467132 231370360 500811390 641899051 391182594 527578151 988560433 685109756 559077343 328329926 196227632 336272983 771349878 840811791 993639947 890617747 145661860 240572584 218330391 563640818 837855638 224887354 820577369 366090459 428817853 995620123 808949203 255799874 280478815 798992765 681420691 637254696 239278208 200799951 870466096 434844319 128065420 908638533 652951439 545303118 953529754 504191051 318331377 953915258 227005526 669915117 642709436 753342652 911045484 662251083 617065119 102804829 283449466 461875904 365092485 840225083 390052178 336795505 296602996 632525141 704618953 288181332 419763706 824615394 617169021 602941490 916771153 555783765 515863536 600167493 191471056 902995279 541926316 808440599 375169331 901293513 146877578 503876292 916216530 380012273 782666023 144878636 885214422 776878495 433703441 425679827 307366636 882083311 128192145 790571218 722323322 981443686 837623809 562722071 852039430 208126378 232273212 920214556
